如何创建一个没有标题但在任务栏有图标(不是TrayIcon)的子窗口 ( 积分: 100 )

  • 主题发起人 主题发起人 bitfarmer
  • 开始时间 开始时间
B

bitfarmer

Unregistered / Unconfirmed
GUEST, unregistred user!
不知道问题是否有解。<br>友情提示,请注意以下几点:<br> &nbsp;1、要创建的窗口是子窗口<br><br> &nbsp;2、子窗口重载了CreateParams方法<br> &nbsp; &nbsp; &nbsp; &nbsp;procedure TForm2.CreateParams(var p: TCreateParams);<br> &nbsp; &nbsp; &nbsp; &nbsp;begin<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; inherited;<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; p.WndParent := 0;<br> &nbsp; &nbsp; &nbsp; &nbsp;end;<br><br> &nbsp;3、自窗口BorderIcons属性设置为[]<br><br> &nbsp;4、子窗口设定了无标题条属性<br> &nbsp; &nbsp; &nbsp; SetWindowLong(Form2.Handle, GWL_STYLE,<br> &nbsp; &nbsp; &nbsp; &nbsp; GETWINDOWLONG(Form2.Handle, GWL_STYLE) and not WS_CAPTION);<br><br> &nbsp;5、通过以上代码,子窗口会出现在任务栏中,不过只有标题没有图标。问题就是,如何在保留前面3条设置的情况下,让任务栏中出现程序的图标。
 
不知道问题是否有解。<br>友情提示,请注意以下几点:<br> &nbsp;1、要创建的窗口是子窗口<br><br> &nbsp;2、子窗口重载了CreateParams方法<br> &nbsp; &nbsp; &nbsp; &nbsp;procedure TForm2.CreateParams(var p: TCreateParams);<br> &nbsp; &nbsp; &nbsp; &nbsp;begin<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; inherited;<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; p.WndParent := 0;<br> &nbsp; &nbsp; &nbsp; &nbsp;end;<br><br> &nbsp;3、自窗口BorderIcons属性设置为[]<br><br> &nbsp;4、子窗口设定了无标题条属性<br> &nbsp; &nbsp; &nbsp; SetWindowLong(Form2.Handle, GWL_STYLE,<br> &nbsp; &nbsp; &nbsp; &nbsp; GETWINDOWLONG(Form2.Handle, GWL_STYLE) and not WS_CAPTION);<br><br> &nbsp;5、通过以上代码,子窗口会出现在任务栏中,不过只有标题没有图标。问题就是,如何在保留前面3条设置的情况下,让任务栏中出现程序的图标。
 
通过试验发现,只要窗口BorderIcons属性没有包涵biSystemMenu就会出现任务栏只有标题没有图标的现象。
 

Similar threads

后退
顶部