本人使用htmlhelp workshop制作好一個chm,和帶.h的別名檔案,在htmlhelp api測驗HH_HELP_CONTEXT命令成功。
可是代碼呼叫api的時候 貌似在PB里找不到HH_HELP_CONTEXT命令。只能用0,1,2。我寫的別名檔案就沒有用了。除非建立索引。我不想建立索引。
向各位高人救助!
uj5u.com熱心網友回復:
實際上你要實作指定某頁幫助最簡單的方法是呼叫PB自帶的函式即可:showhelp(***.chm,keyword!,'幫助頁面的標題')
但是,前提是要將每個頁面標題建立索引。這樣做要比呼叫api簡單。況且你可以將上面的函式放到祖先視窗的按鈕或事件上。后面幫助頁面的標題可以設定成實體變數,再在每個實際視窗賦值。
uj5u.com熱心網友回復:
這樣雖然可行,但是對制作chm的要求高,大量的htm頁面需要一頁一頁的命名,不如別的軟體自動生成chm,自己寫個映射檔案快。uj5u.com熱心網友回復:
已經自己解決,謝謝!分享一下經驗:使用HH_HELP_CONTEXT則定義引數dwData 為 long ,若是使用HH_DISPLAY_TOPIC則定義引數dwData 為 string。
舉例:
用HH_HELP_CONTEXT 的定義函式如下:Function Long HtmlHelpA(long hwnd ,string lpHelpFile , long wCommand, long dwData) Library "hhctrl.ocx" alias for "HtmlHelpA;Ansi"
HH_HELP_CONTEXT = 15
在視窗上相應事件代碼:
HtmlHelpA(handle(視窗),檔案路徑+檔案名,HH_HELP_CONTEXT,long(映射檔案中的別名))
用HH_DISPLAY_TOPIC 的定義函式如下:Function Long HtmlHelpA(long hwnd ,string lpHelpFile , long wCommand, string dwData) Library "hhctrl.ocx" alias for "HtmlHelpA;Ansi"
HH_DISPLAY_TOPIC = 0在視窗上相應事件代碼:
HtmlHelpA(handle(視窗),檔案路徑+檔案名,HH_DISPLAY_TOPIC,某分頁名.htm)
以上兩種方法都實作 打開chm檔案時顯示指定頁面,個人認為第一種比較實用。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/66678.html
標籤:API 調用
上一篇:如何做PB開發環境的二次開發
下一篇:pb怎么獲取行程的映像檔案路徑?
