如何不最小化窗体?

qdh2002 2004-07-09 09:21:46
有两个Form,一个是MainForm,一个是用Show()或者ShowModal()出来的Form,当在MainForm上点最小化时,只想把MainForm最小化下去,另一个Form想仍留在屏幕上,有什么办法???谢谢。
...全文
174 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
robbyzi 2004-07-09
  • 打赏
  • 举报
回复
主要是重载Form的虚拟函数CreateParams, 改变TCreateParams的成员WndParent就可以了
class TForm2 : public TForm
{
__published: // IDE-managed Components
private: // User declarations
protected:
virtual void __fastcall CreateParams(TCreateParams & Param);
public: // User declarations
__fastcall TForm2(TComponent* Owner);
};
void __fastcall TForm2::CreateParams(TCreateParams & Param)
{
//调用基类的函数
TForm::CreateParams(Param);
Param.ExStyle |= WS_EX_TOPMOST;

//这儿最关键的是只要Param.WndParent不是Application- >Handle就可以了,
//不一定非要用GetDesktopWindow(),用其它的窗口也可以。
Param.WndParent = GetDesktopWindow();
}
Lonelywolf1899 2004-07-09
  • 打赏
  • 举报
回复
俺不知道,不过要顶一下。
xjp6688 2004-07-09
  • 打赏
  • 举报
回复
up
tghost333 2004-07-09
  • 打赏
  • 举报
回复
学习

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧