⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 delphi程序与chm帮助关联的简单实现.htm

📁 利用INI文件实现界面无闪烁多语言切换
💻 HTM
📖 第 1 页 / 共 3 页
字号:
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 0.75pt; TEXT-ALIGN: left; mso-char-indent-count: .07; mso-char-indent-size: 10.7pt" 
align=left><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><FONT 
size=3><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN>i:integer;<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 0.75pt; TEXT-ALIGN: left; mso-char-indent-count: .07; mso-char-indent-size: 10.7pt" 
align=left><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><FONT 
size=3>begin<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 0.75pt; TEXT-ALIGN: left; mso-char-indent-count: .07; mso-char-indent-size: 10.7pt" 
align=left><FONT size=3><SPAN lang=EN-US 
style="mso-bidi-font-size: 10.5pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; 
</SPAN>//</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">检查帮助窗口是否已经存在</SPAN><SPAN 
lang=EN-US style="mso-bidi-font-size: 10.5pt"><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal 
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 0.75pt; TEXT-ALIGN: left; mso-char-indent-count: .07; mso-char-indent-size: 10.7pt" 
align=left><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><FONT 
size=3><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; 
</SPAN>HWndHelp:=FindWindow(nil,conHelpTitle);<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 0.75pt; TEXT-ALIGN: left; mso-char-indent-count: .07; mso-char-indent-size: 10.7pt" 
align=left><FONT size=3><SPAN lang=EN-US 
style="mso-bidi-font-size: 10.5pt"><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; 
</SPAN>if HwndHelp&lt;&gt;0 then<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>// 
</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如存在则关闭</SPAN><SPAN 
lang=EN-US style="mso-bidi-font-size: 10.5pt"><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal 
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 0.75pt; TEXT-ALIGN: left; mso-char-indent-count: .07; mso-char-indent-size: 10.7pt" 
align=left><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><FONT 
size=3><SPAN 
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN>SendMessage(HwndHelp,WM_CLOSE,0,0);<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 0.75pt; TEXT-ALIGN: left; mso-char-indent-count: .07; mso-char-indent-size: 10.7pt" 
align=left><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><FONT 
size=3><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; 
</SPAN>i:=ShellExecute(handle, 'open',Pchar(strCurExePath+'\help.chm''),nil, 
nil, sw_ShowNormal);<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 0.75pt; TEXT-ALIGN: left; mso-char-indent-count: .07; mso-char-indent-size: 10.7pt" 
align=left><SPAN lang=EN-US style="mso-bidi-font-size: 10.5pt"><FONT 
size=3><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>if i&lt;&gt;42 
then<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal 
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 0.75pt; TEXT-ALIGN: left; mso-char-indent-count: .07; mso-char-indent-size: 10.7pt" 
align=left><FONT size=3><SPAN lang=EN-US 
style="mso-bidi-font-size: 10.5pt"><SPAN 
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>Showmessage(' 
help.chm </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">帮助文件损坏!</SPAN><SPAN 
lang=EN-US style="mso-bidi-font-size: 10.5pt">');<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal 
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 0.75pt; TEXT-ALIGN: left; mso-char-indent-count: .07; mso-char-indent-size: 10.7pt" 
align=left><FONT size=3><SPAN lang=EN-US 
style="mso-bidi-font-size: 10.5pt">end;</SPAN><SPAN lang=EN-US> 
</SPAN></FONT></P>
<P class=MsoNormal 
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 0.75pt; TEXT-ALIGN: left; mso-char-indent-count: .07; mso-char-indent-size: 10.7pt" 
align=left><SPAN lang=EN-US><FONT size=3>&nbsp;<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" 
align=left><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">二、上下文关联的</SPAN><SPAN 
lang=EN-US>chm</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">帮助</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" 
align=left><FONT size=3><SPAN lang=EN-US><SPAN 
style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在</SPAN><SPAN 
lang=EN-US>Delphi</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中实现上下文关联的</SPAN><SPAN 
lang=EN-US>chm</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">帮助,可以</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">调用</SPAN><SPAN 
lang=EN-US style="mso-bidi-font-size: 10.5pt">Windows</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">系统目录</SPAN><SPAN 
lang=EN-US style="mso-bidi-font-size: 10.5pt">System32</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下的</SPAN><SPAN 
lang=EN-US style="mso-bidi-font-size: 10.5pt">HHCTRL.OCX</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">控件中的</SPAN><SPAN 
lang=EN-US style="mso-bidi-font-size: 10.5pt">HtmlHelpA</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">函数实现。</SPAN><SPAN 
lang=EN-US style="mso-bidi-font-size: 10.5pt">&nbsp;</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">需要以下几个步骤:</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" 
align=left><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"><FONT size=3>&nbsp; 
</FONT></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" 
align=left><FONT size=3><SPAN lang=EN-US>1 </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">设置相关控件的</SPAN><SPAN 
lang=EN-US>HelpContext</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">属性。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" 
align=left><FONT size=3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; 
</SPAN></SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">例,主窗体</SPAN><SPAN 
lang=EN-US>frmMain:</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">:</SPAN><SPAN 
lang=EN-US>10100 </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">,其中的文本框</SPAN><SPAN 
lang=EN-US> edtInput</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">:</SPAN><SPAN 
lang=EN-US>10101 </SPAN></FONT></P>
<P class=MsoNormal 
style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 31.5pt; TEXT-ALIGN: left; mso-char-indent-count: 3.0; mso-char-indent-size: 10.5pt" 
align=left><FONT size=3><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对话框</SPAN><SPAN 
lang=EN-US>dlgReport</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">:</SPAN><SPAN 
lang=EN-US>10200 </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">,其中的组合列表框</SPAN><SPAN 
lang=EN-US> cbReportEdit</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">:</SPAN><SPAN 
lang=EN-US>10201</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" 
align=left><SPAN lang=EN-US><FONT size=3>&nbsp;<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" 
align=left><FONT size=3><SPAN lang=EN-US>2 </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">声明</SPAN><SPAN 
lang=EN-US>HtmlHelpA</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">函数</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" 
align=left><SPAN lang=EN-US><FONT size=3>&nbsp;<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" 
align=left><SPAN lang=EN-US><FONT size=3>function HtmlHelpA (hwndcaller:Longint; 
lpHelpFile:string; wCommand:Longint;dwData:string): HWND;stdcall; external 
'hhctrl.ocx'</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" 
align=left><SPAN lang=EN-US><FONT size=3>&nbsp;<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" 
align=left><FONT size=3><SPAN lang=EN-US>3<SPAN style="mso-spacerun: yes">&nbsp; 
</SPAN>F1</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">按键响应</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" 
align=left><SPAN lang=EN-US><FONT size=3>&nbsp;<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" 
align=left><FONT size=3><SPAN lang=EN-US>//</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">公用函数</SPAN><SPAN 
lang=EN-US>ShowChmHelp</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">显示不同帮助画面。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" 
align=left><SPAN lang=EN-US><FONT size=3>procedure ShowChmHelp(sTopic:string); 
</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" 
align=left><SPAN lang=EN-US><FONT size=3>var i:integer;</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" 
align=left><SPAN lang=EN-US><FONT size=3>begin</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" 
align=left><SPAN lang=EN-US><FONT size=3><SPAN style="mso-spacerun: yes">&nbsp; 
</SPAN>i:=HtmlHelpA(Application.Handle,Pchar(ExePath+'\help.chm’),HH_DISPLAY_TOPIC,sTopic);</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" 
align=left><SPAN lang=EN-US><FONT size=3><SPAN style="mso-spacerun: yes">&nbsp; 
</SPAN>if i=0 then</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" 
align=left><SPAN lang=EN-US><FONT size=3><SPAN style="mso-spacerun: yes">&nbsp; 
</SPAN>begin</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" 
align=left><FONT size=3><SPAN lang=EN-US><SPAN 
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>Showmessage(' 
help.chm </SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">帮助文件损坏!</SPAN><SPAN 
lang=EN-US>');</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" 
align=left><SPAN lang=EN-US><FONT size=3><SPAN 
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</SPAN>exit;</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left" 
align=left><SPAN lang=EN-US><FONT size=3><SPAN style="mso-spacerun: yes">&nbsp; 
</SPAN>end;</FONT></SPAN></P>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -