社区
C++ Builder
帖子详情
如何在CB中使用Inspector中没有的消息?
binbin
2000-09-09 11:39:00
我想响应WM_MOVE消息,即用户移动窗口后进行处理,但CB里没有直接对这个消息的事件。
我记得好象要在头文件中用一个宏把消息与自己的函数对应起来,但记不清消息的参数的具体设置了。谁能结合WM_MOVE来讲一讲?我试了N次,每次一运行系统就死锁了。
...全文
103
4
打赏
收藏
如何在CB中使用Inspector中没有的消息?
我想响应WM_MOVE消息,即用户移动窗口后进行处理,但CB里没有直接对这个消息的事件。 我记得好象要在头文件中用一个宏把消息与自己的函数对应起来,但记不清消息的参数的具体设置了。谁能结合WM_MOVE来讲一讲?我试了N次,每次一运行系统就死锁了。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
skt985
2001-06-01
打赏
举报
回复
29590关注!
adams
2000-09-22
打赏
举报
回复
WM_MOVE消息包括X,Y的位置,如下
xPos = (int) LOWORD(lParam); // horizontal position
yPos = (int) HIWORD(lParam); // vertical position
一般的消息映射,可右击class explorer中的Form1,在弹出菜单中选择new Method,选中Message Handle,在旁边填入消息WM_MOVE(或自定义消息),参数一般为TMessage &Msg
消息处理函数内容为
//Form1->Caption = AnsiString("X pos: ") + AnsiString(Msg.LParamLo) +
// AnsiString(" Y pos: ") + AnsiString(Msg.LParamHi );
Form1->Caption = Format("X pos: %d Y pos: %d",ARRAYOFCONST ((Msg.LParamLo,Msg.LParamHi)));
hhzh426
2000-09-10
打赏
举报
回复
你是不是在消息响应中又移动了窗体?
Wingsun
2000-09-10
打赏
举报
回复
对啊,你要截获消息才可以啊
###.h
//--------------------------
....
private: // User declarations
void __fastcall OnMyMessage(Messages::TMessage & Message);
protected:
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_MOVE,TMessage,OnMyMessage);
END_MESSAGE_MAP(TForm);
}
###.cpp
//--------------------------
void __fastcall TFrmMain::OnMyMessage(Messages::TMessage & Message)
{
.....
}
C++ Builder
13,825
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章