[Top Page][All Pages][Recent Changes]

Edit History:Diff

Changes of 自作ブラウザにXPのテーマを適用させる since Epoch

  • + added lines
  • - deleted lines

Return to the edit history

+  
- [[$$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