More ... | 編集履歴:差分記録開始以来の自作ブラウザにXPのテーマを適用させるの変更箇所
+ - [[$$toc]] - - →[[HSP3・サンプルスクリプト]]に戻る - - ---- - 当然 XP専用です。~% - HSP3.0aで動作確認~% - - XPスタイルの適用~% - オートコンプリートの実装~% - スクロールバーを出さないようにする~% - その他 色々・・・~% - - * スクリプト - {{{ - ; <<<< HSP 3.0a サンプル >>>> - ; - ; 自作ブラウザにXPのテーマを適用させる - ;(HSP3.0の付属サンプルweb.hspを元に少し改造) - - #define DIID_DWebBrowserEvents2 "{34A715A0-6587-11D0-924A-0020AFC7AC4D}" - #define DISPID_BEFORENAVIGATE2 250 - #define DISPID_NAVIGATECOMPLETE2 252 - - //追加-------------------------------- - #usecom IAxWinAmbientDispatch "{B6EA2051-048A-11D1-82B9-00C04FB9942E}" - //#uselib "atl.dll";どちらか一つ指定 - #uselib "atl71.dll"; - #func AtlAxWinInit "AtlAxWinInit" - #func AtlAxGetHost "AtlAxGetHost" int,var - //ここまで----------------------------- - onexit gosub *exit - cls 1 - sdim url,512 - url="http://www.google.co.jp/" - objsize 600,24 - pos 0,2:mes "URL:" - pos 0,26:mes "WEB Browser Sample" - pos 40,0:input url - objsize 120,24 - pos 520,24:button gosub "移動",*wow - pos 400,24:button gosub "進む",*go_f - pos 280,24:button gosub "戻る",*go_b - pos 0,48 - - //追加 ↓ - // AtlAxWinInit;なくても動くようです。 - axobj ie, "Shell.Explorer.2",640,480-48 : num=stat - - //追加-------------------------------------------------- - newcom pUnk - AtlAxGetHost objinfo(num,2),pUnk - querycom AtlHost,pUnk,IAxWinAmbientDispatch : pUnk=0 - - // flgs=AtlHost("DocHostFlags");4 - // XPスタイル、スクロールバーなし、オートコンプリート、を指定 - AtlHost("DocHostFlags")=0x40000|0x00000008|0x00004000 - AtlHost=0 - //ここまで----------------------------------------------- - comevent ie_event, ie, DIID_DWebBrowserEvents2 ,*event - ie->"Navigate" url - stop - - *event - ; COMイベント処理 - dispid = comevdisp(ie_event) - if dispid = DISPID_BEFORENAVIGATE2 : gosub *OnBeforeNavigate - if dispid = DISPID_NAVIGATECOMPLETE2 : gosub *OnNavigateComplete2 - return - - *OnBeforeNavigate - comevarg name,ie_event,1 - objprm 0,name - return - - *OnNavigateComplete2 - pDoc = ie("Document") - name = pDoc("Title") - title name - delcom pDoc - return - - *wow - ie->"Navigate" url - return - *go_f - ie->"GoForward" - return - *go_b - ie->"GoBack" - return - - *exit - ie=0 - clrobj num - end - }}} - - * 解説~% - - AtlHost("DocHostFlags")にフラグを指定するだけです(一部しか試してません。)~% - {{{ - // DOCHOSTUIFLAG - #define DOCHOSTUIFLAG_NO3DBORDER 0x00000004 - #define DOCHOSTUIFLAG_SCROLL_NO 0x00000008 - #define DOCHOSTUIFLAG_DISABLE_SCRIPT_INACTIVE 0x00000010 - #define DOCHOSTUIFLAG_OPENNEWWIN 0x00000020 - #define DOCHOSTUIFLAG_DISABLE_OFFSCREEN 0x00000040 - #define DOCHOSTUIFLAG_FLAT_SCROLLBAR 0x00000080 - #define DOCHOSTUIFLAG_DIV_BLOCKDEFAULT 0x00000100 - #define DOCHOSTUIFLAG_ACTIVATE_CLIENTHIT_ONLY 0x00000200 - #define DOCHOSTUIFLAG_OVERRIDEBEHAVIORFACTORY 0x00000400 - #define DOCHOSTUIFLAG_CODEPAGELINKEDFONTS 0x00000800 - #define DOCHOSTUIFLAG_URL_ENCODING_DISABLE_UTF8 0x00001000 - #define DOCHOSTUIFLAG_URL_ENCODING_ENABLE_UTF8 0x00002000 - //↓オートコンプリート - #define DOCHOSTUIFLAG_ENABLE_FORMS_AUTOCOMPLETE 0x00004000 - #define DOCHOSTUIFLAG_ENABLE_INPLACE_NAVIGATION 0x00010000 - #define DOCHOSTUIFLAG_IME_ENABLE_RECONVERSION 0x00020000 - //↓XPスタイル - #define DOCHOSTUIFLAG_THEME 0x00040000 - #define DOCHOSTUIFLAG_NOTHEME 0x00080000 - #define DOCHOSTUIFLAG_NOPICS 0x00100000 - #define DOCHOSTUIFLAG_NO3DOUTERBORDER 0x00200000 - }}} - - * メモ~% - 2006/04/08 13:14:55 JST~% - 変更~% - onexit *exit -> onexit gosub *exit |