2019/4/1 (月) 16:03:32 Mr.XRAY |
HTML Help Workshop なんですが,[印刷] や [オプション] 等のボタン類の設定が
できませんでした.
HHP ファイルに [WINDOWS] セッションを追加すれば可能であることが分かりました.
で,追加しました.
http://mrxray.on.coocan.jp/Delphi/Others/Win32HLP2ChmHLP.htm#fig37
この [WINDOWS] セッション は
Wnd1=値1, 値2, 値3, 値4, 値5,,,,
という構造になっています (文字列のパラメータは " で括る).
たまに見かける設定の記述です.
以下のように,ちょっとしたノウハウがあります.参考までに.
CSV 関係の質問,検索ヒットは結構あるので.
LTextList := TStringList.Create;
try
// カンマ区切の文字列を必要な分だけ作成してしまう
LItemCnt := 20;
LTextList.CommaText := DupeString(',', LItemCnt - 1);
// 必要なパラメータだけ設定していく
LTextList[0] := AnsiQuotedStr(LHelpTitle, '"');
LTextList[1] := AnsiQuotedStr(LFileName + '.hhc', '"');
LTextList[2] := AnsiQuotedStr(LFileName + '.hhk', '"');
LTextList[3] := AnsiQuotedStr('', '"');
LTextList[9] := '0x60720';
LTextList[10] := '200';
LTextList[11] := '0xE';
LTextList[12] := '[200,200,800,600]';
LTextList[13] := '0x0';
LTextList[14] := '0x0';
LTextList[LTextList.Count - 1] := '0';
// 最初のパラメータの値を代入してからループするのがミソ
LWinText := LTextList[0];
for LIndex := 1 to LTextList.Count - 1 do begin
LWinText := LWinText + ',' + LTextList[LIndex];
end;
// LWinText ではなく LTextList.CommaText を書き込むと
// 余分な " (ダブルクォーテーション) が付加されてしまう
// もしかしたら方法があるかも知れないけど・・・
LIniFile.WriteString('WINDOWS', 'WND1', LWinText);
finally
FreeAndNil(LTextList);
end;
何だか知らないけれど,
面白いように CHM ヘルプに変換できます.ハマりました (笑)
|
|