ひとりごと:アーカイブ

HTMLHelpの問題が解決しました(とりあえず)

Delphi2005(Pro)のlibフォルダにHTMLHelpViewer.dcuを見つけたってんで、uses にHTMLHelpViewerを加えたら何となく動いたHTMLHelpですが、wb for XPではファイルオープンダイアログボックスを先に開くとヘルプが開かなくなると言う問題を抱えていました。が、先にヘルプのAPIをいじれば大丈夫のようです。

ヒントは「ヘルプを先に開けば望み通り(のように見える)動作」というわけで、先にヘルプのAPIさわればいいんじゃないかと試行錯誤。最初はお手軽にHH_CLOSE_ALLなどやってみましたが意味無かったです。今回使ったのはHH_GET_WIN_TYPEMicrosoftR HTML Help 1.3 リリースの日本語文書はオンラインのMSDSで参照できますが、ヘルプウィンドウの見た目を受け取るコマンドです。これをフォームのOnCreateイベント以下略。

受け取るときに使う構造体に注意が必要です。DelphiのWindows.pasにある構造体は間違っているようなのでMSDNで正しいHH_WINTYPE構造体をコピーして定義し直しました。SETするわけじゃないからどうでもいいちゃどうでもいいんですけれどもね。

ところでAPIを説明した日本語文書、MSDNのMicrosoft HTML Help Downloadsから得られるのはリリース1.2のようです(英語は1.3か1.4)。落ち着いてゆっくり読もうと思っても、肝心のAPI部分は英語です。オンラインで見ろってことなのか、私が見つけられないでいるだけなのか。。

いろいろ悩んだヘルプですが、とりあえず見た目はちゃんと動いているように見えます。

2007.8.2追記。もっとスマートな解決方法がありました(かなり簡潔になりました。覚え書き作りました)。

トラックバック(0)

トラックバックURL: http://arika.stbbs.net/blogmt/mt-tb.cgi/567

コメントする

このブログ記事について

このページは、惟栂舞ありかが2007年7月29日 13:16に書いたブログ記事です。

ひとつ前のブログ記事は「色反転とかグレースケールとか」です。

次のブログ記事は「そろそろ飽きてきたです」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

アーカイブ