如何使创建的TForm单独显示在任务栏里? ( 积分: 100 )

  • 主题发起人 主题发起人 小蔡一碟
  • 开始时间 开始时间

小蔡一碟

Unregistered / Unconfirmed
GUEST, unregistred user!
我想每创建一个TForm,就使它在任务栏上显示,就好象Word在新建一个Doc时都在任务栏里单独显示一个.
 
我想每创建一个TForm,就使它在任务栏上显示,就好象Word在新建一个Doc时都在任务栏里单独显示一个.
 
相信这段代码可以帮到你.<br>procedure CreateParams(var Params: TCreateParams);override;<br>....<br><br>procedure TForm2.CreateParams(var Params: TCreateParams);<br>begin<br> &nbsp;inherited CreateParams(Params);<br> &nbsp;Params.ExStyle := Params.ExStyle or WS_Ex_AppWindow;<br>end;
 
把form封装在dll中创建。
 
Avalon,<br>那是不是unit2,unit3,unit4里都要写这一代码呢?
 
是啊 &nbsp;我想不是很麻烦吧?
 
Avalon,<br>但我在主窗口(unit1)上新建了两个按钮,分别为创建unit2,unit3,当点击这两个按钮后就不能切换到unit1了,什么原因?
 
你的窗体是showmodule出来的把<br>show出来就可以切换回去 但是show出来窗体再内存释放和showmodule是不同的
 
也不定每个窗体都重复一段代码啊,你让所有的窗体都继承同一个基类不就可以了
 
Tform.parent:=Tmainform;
 
我的窗体是show的啊,而且点击任务栏上的Progjet1,任务栏上会只显示一个了.
 
你是不是说新建一个form,然后每创建一个Form都继承一下?
 
procedure TForm2.CreateParams(var Params: TCreateParams);<br>begin<br> &nbsp;inherited CreateParams(Params);<br> &nbsp;Params.ExStyle := Params.ExStyle or WS_Ex_AppWindow;<br> &nbsp;Params.WndParent:=GetDesktopWindow;<br>end;
 
现在的功能与word是一样的了.多谢
 
procedure TForm1.CreateParams(var Params: TCreateParams);<br>begin<br> &nbsp;inherited CreateParams(Params);<br> &nbsp;Params.ExStyle := Params.ExStyle or WS_Ex_AppWindow;<br>end;
 
后退
顶部