CDHtmlDialog類的使用心得 -- [今天轉幾篇基礎桌面技術文章]
阿新 • • 發佈:2018-12-31
在CDHtmlDialog類使用中,總是會遇到HTML不能正確解析資源的問題。我的經驗如下:
1。使用絕對路徑在資源裡引入HTML網頁和圖片資源:
使用RES://應用程式名稱/資源型別/#資源號,
例如:如果你的應用程式名為c.exe,html網頁或資源儲存在HTML型別下。並且檢視資源標示號為133,便可以這樣引用:res://c.exe/html/#133。或這樣引用:res
://c:/c.exe/html/#133
2。使用相對路徑引用:
如果使用方法1,總得去尋找應用程式名稱,如果引入的是html中的圖片,有諸多不便,譬如:應用程式如果改變了名稱,那呼叫便會無效。為了防止這些糾葛,有一個非常好的辦法就是:把所有使用的資源(圖片,CSS,JS等),統統放到HTML資源型別下,引用的時候寫成 res://#資源號
3。FLASH控制元件的支援:
我沒有在資源裡引用flash成功,看了看flash的官方文件,好像必須為絕對路徑才可以。例如movie=“d://flash//test.swf”是可以成功的。
4。不在資源裡引用HTML,直接在本地檔案裡使用。可以在CDHtmlDialog的繼承類裡新增一個函式來處理。
本函式為了方便沒有對路徑進行更多處理,在使用的時候,可以以exe檔案所在的目錄為當前目錄,以相對路徑表示pszUrl。呼叫方法:
gotoUrl("html//test.html")
gotoUrl("..//html2/test.htm")
不過這樣的話,就有個問題,使用者可以隨時修改你的html檔案。如果你有訊息處理的話,很容易就使你的程式崩潰。
我一般的做法就是修改html的副檔名,迫使一般使用者不輕易修改它,譬如改稱.dat。