您的位置:程序门 -> vc/mfc -> 界面



派生button 如何用


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


派生button 如何用
发表于:2007-08-13 17:15:29 楼主
在formview上放了一button,如何实现按下不放时一变量增加,当释放时结束?
发表于:2007-08-13 17:59:161楼 得分:0
在派生类的wm_lbuttondown响应函数里:
if   (::getcapture()   !=   null)
return   false;

afxlocktempmaps();     //   protect   maps   while   looping
//   set   capture   to   the   window   which   received   this   message
setcapture();
updatewindow();

//   get   messages   until   capture   lost   or   cancelled/accepted
for   (;;)
{
msg   msg;
verify(::getmessage(&msg,   null,   0,   0));

if   (cwnd::getcapture()   !=   this)
break;

switch   (msg.message)
{
//   handle   movement/accept   messages
case   wm_lbuttonup:
{
goto   exitloop;
}
break;
}
                                  在这里增加:m_itest++;

                                  sleep(555);这里自己控制

}

exitloop:
releasecapture();
afxunlocktempmaps(false);
return   true;
发表于:2007-08-13 18:38:022楼 得分:0
摁下时启动一个timer用于增加变量的值,释放时停止timer
发表于:2007-08-13 22:34:063楼 得分:0
有4个按钮,每个代表图中移动不同的方向,如何识别不同的按钮。

bear520leon(考拉)的方法试了一下,鼠标移上去就有变化。
发表于:2007-08-13 22:36:094楼 得分:0
每个按钮有不同的id,自然就能识别了
发表于:2007-08-13 22:46:495楼 得分:0
dyw(道不同不相为谋)   ,

有没有详细的源码参考一下。
发表于:2007-08-14 09:14:276楼 得分:0
鼠标移上去就有变化?你是写在wm_mousemove的响应函数里了吧?应该写在wm_lbuttondown的响应函数(onlbuttondown)里面.
判断按钮的id:
如果在派生类进行判断:
uint   nid   =   ::getdlgctrlid(m_hwnd);


快速检索

最新资讯
热门点击