VC的BUTTON控件消息实现(100分)

S

suntao

Unregistered / Unconfirmed
GUEST, unregistred user!
有一段DELPHI程序要改为VC,但DELPHI中的TBUTTON按钮有mousedown和 mouseup ,click等事件,而VC的CBUTTON只有CLICK和DBLCLICK两个消息
处理,那么MOUSEDOWN和MOUSEUP两个消息怎样实现呢?
 
vc的windows消息这么处理?你自己处理
WM_LBUTTONDOWN
WM_LBUTTONUP
2个消息
 
Pipe:可是VC的CBUTTON中没有WM_LBUTTONDOWN和WM_LBUTTONUP这两个消息。
 
vc的windows消息怎么处理?你自己处理
WM_LBUTTONDOWN
WM_LBUTTONUP
2个消息
 
应该有吧,不一定用classwisal, 自己添加,classwizal里的消息是很不全的,自
己在.hpp 和.cpp里添加是一样的,我试过,是可行的
 
自定义的消息处理肯定有的,只不过我不会vc
 
用对话框的WM_LBUTTONDOWN和WM_LBUTTONUP,判断mouse的位置是否在button的辖区内!
 
唉, delphi 为什么要改成 vc 呢?不会。
 
自己写消息映射了
begin
_MESSAGEMAP
ON_MESSAGE(WM_LBUTTONDOWN,memberFxn)
END_MESSAGEMAP
WM_LBUTTONDOWN 相当与MouseDown
WM_LBUTTONUP 相当与MouseUP
用classwizald不行吗?
我记得我用过的
 
或者可以在PreTranslateMessage(MSG *pMsg)中判断pMsg->message==WM_LBUTTONDOWN
再结合当时鼠标位置GetCursorPos(),及按钮的位置来判断是否有消息,不过我发现
有个小bug,就是拦截后return 0,会出现这样的情况:我的鼠标一到按钮上按钮就按下了
 
多人接受答案了。
 
顶部