掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
HTML Helpを呼び出すには (ID:923)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
そうですか人違いですか^^; えと、Delphiから直接呼び出せない…というのは、 Delphiが、宣言用pasファイルを作っていないからです。 そういうAPI関数は、自分で書いて宣言する必要があるとのことです。 そのことについて、ここに書いてありました。 http://www.ab.wakwak.com/~greenspace/dev-api/ これはVBの宣言です。uCommandに、下の数字を入れると、そのように行動してくれるとか。(ごめんなさい、hhctrl.ocxでした^^;) Private Declare Function HTMLHelp Lib "hhctrl.ocx" Alias "HtmlHelpA" (ByVal hwndCaller As Long, ByVal pszFile As String, Optional ByVal uCommand As HtmlHelpCommandContents, Optional ByVal dwData As Long = 0) As Long Private Enum HtmlHelpCommandContents HH_DISPLAY_TOC = &H1 '目次表示 HH_DISPLAY_INDEX = &H2 'キーワード表示 HH_DISPLAY_SEARCH = &H3 '検索 HH_HELP_CONTEXT = &HF 'dwDataに従う HH_CLOSE_ALL = &H12 'ソフトと同時行動 End Enum これをDelphiの宣言に訳すと…。 function HTMLHelp(hwndCaller : HWND; pszFile : PChar;uCommand : Integer, dwData : Integer): Integer; stdcall; external 'hhctrl.ocx' name 'HTMLHelpA'; たぶんこうなります。(他のAPI呼び出しのまね) 定数はいつもと同じようにconstで宣言してください。 (もどりちはBooleanかもしれません^^;VBとはBooleanの仕様が違うので) hwndCaller…呼び出しもとハンドル pszFile…ファイル名 uCommand…コマンド(定数) dwData…開くページのID。上がHH_HELP_CONTEXTでない場合無視 まちがってたら、上にURLを書いたページを参考にするか、 Delphiフォルダ以下、Source\Rtl\Win\ に、API呼び出しようのファイルがいっぱいあるので、 参考にしてください。 はじめてなので^^; こうやって使います、VBではもどりちをもらう必要のない関数の場合、 ()をはずしてもいいことになっています、それ以外はDelphiと変わりません。 ■HTMLHelp hWnd, App.HelpFile, HH_DISPLAY_TOC たぶんDelphiだとこうかな。 HTMLHelp(Handle,Application.HelpFile, HH_DISPLAY_TOC); もどりちは手に入れたところでどうしようもない(失敗したか成功したかだったはず)ので、無視してかまわないとおもいます。 ただ、指定したページは、HTMLヘルプ作成時に、マップファイルでIDを指定しておかないといけません。 ShellExecute で、hh.exe にコマンドを送ると、確実は確実です。 ファイル名を覚えておかないといけないからめんどくさいものはめんどくさいですけど、 それはID指定だって同じ^^; よそにメソッドを作っておくと、楽ですね。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.