有沒有這個消息?

gallardo 2003-08-21 05:14:22
有没有一个消息,作用是告诉窗体已经最大化过了,窗体接收到这个消息后,最大化按钮就应该变成还原按钮。如果此時双击标题栏就应该还原而不是最大化。

应该有的吧.
...全文
27 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jishiping 2003-08-21
  • 打赏
  • 举报
回复
那个帖子 ybchen() 已经给出解答了。不过不是完美。完美的解答我已经给出了。但是你这
个帖子的问题,和你那个帖子,根本就是两回事嘛。
gallardo 2003-08-21
  • 打赏
  • 举报
回复
非也,季头请看这篇文章
http://expert.csdn.net/Expert/topic/2134/2134646.xml?temp=.8965265
这才是我的目的,解决的话两个贴的分都归你。
jishiping 2003-08-21
  • 打赏
  • 举报
回复
你是不是自己做的标题栏?标准的Windows窗口,不用自己来管的。最简单的,重载虚拟函数
WndProc,拦截WM_SYSCOMMAND消息:

class TForm1 : public TForm
{
__published: // IDE-managed Components
private: // User declarations
protected:
void __fastcall WndProc(TMessage &Message);
public: // User declarations
__fastcall TForm1(TComponent* Owner);
};

void __fastcall TForm1::WndProc(TMessage &Message)
{
TForm::WndProc(Message);

if (Message.Msg==WM_SYSCOMMAND) {
if (Message.WParam==SC_MAXIMIZE) {
//加入你的代码
}
else if(Message.Msg==SC_RESTORE) {
//加入你的代码
}
}
}
gallardo 2003-08-21
  • 打赏
  • 举报
回复
我本来拦截了最大化消息做处理,但是处理之后最大化图标没有变,而且我不能用TForm::Dispatch(&msg);必须完全拦截,但又想让图标变。
Iamsnowgirl 2003-08-21
  • 打赏
  • 举报
回复
if(form1->windowstatus==wsMaximized)
这样写不行吗
shadowstar 2003-08-21
  • 打赏
  • 举报
回复
给它发一个最大化的消息不行么?

13,824

社区成员

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

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