CEdit自绘问题 怎么实现象QQ搜索联系人那个CEdit控件那样的功能,就是当我们没用鼠标去单击它的时候,那个CEdit控件上就有一些文字...而当我们去鼠标去单击它的时候,那些文字就消失了...而当我们鼠标去单击别的东西的时候,CEdit控件上面的文字又有了...请问大家这个功能是怎么实现的???谢谢... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不用自绘单击时设定一个字符串WM_KILLFOUCS时清除这个字符串即可 谢了...我知道怎么弄了..补充你说的,除了你说的当鼠标点击对话框时,给CEdit编辑框发送WM_KILLFOCUS消息..然后在OnKillFocus函数中添加处理函数之外...还要去添加CEdit编辑框的鼠标左键点击消息..然后在此消息函数里去发送WM_SETFOCUS这个消息...让编辑框再次获得焦点..这样编辑框才能不断被使用,总之,谢谢回帖人:simoreg... 还有我想问 ..可以令CEdit编辑框一开始就失去焦点吗??可以的话要怎么弄.. 1、单击时设定一个字符串WM_KILLFOUCS时清除这个字符串不行吗?有必要你给自己发WM_KILLFOCUS吗?2、一开始就失去焦点吗?我猜你是想:当鼠标在编辑框上时触发一个动作,不管鼠标点不点,当鼠标离开时,再触发一个动作,是么?如果是这样,你可以:在OnMouseMove里打开鼠标跟踪,如下: TRACKMOUSEEVENT tme; tme.cbSize = sizeof(tme); tme.dwFlags = TME_HOVER | TME_LEAVE; tme.dwHoverTime = 1; tme.hwndTrack = m_hWnd; BOOL boRet = _TrackMouseEvent(&tme);然后,你就可以响应WM_MOUSEHOVER,WM_MOUSELEAVE消息了需要手动添加:如下: ON_MESSAGE(WM_MOUSEHOVER,OnMouseHover) ON_MESSAGE(WM_MOUSELEAVE,OnMouseLeave) afx_msg LRESULT OnMouseLeave(WPARAM wParam,LPARAM lParam); afx_msg LRESULT OnMouseHover(WPARAM wParam,LPARAM lParam); 回:simoreg。。不是你说的那个意思,我想弄的就是现在我们正在用的QQ那个显示"搜索联系人,网页信息和问问答案"的CEdit编辑框...这个功能我差不多就可以实现了 ...我唯一还没实现的功能就是当程序运行的时候它没有失去焦点..也就是说程序运行的时候它处于编辑的状态..我就是想让程序运行的时候不处于编辑的状态..象QQ一样显示一些文字.但不处于编辑状态...要实现这功能应该是让CEdit编辑框失去焦点吧???不是这样子的话,还有其它方法吗???你说的这个鼠标在控件中的移动和离开控件的消息应该在我这个功能上用不到.....??? 关于以位图为对话框背景的EDIT控件问题。MFC 图片与控件问题 高手帮忙调试一下“哈希数据编码解码” 怎样禁止csdn给偶发邮件? 请问CHM版<windows程序设计5e)是存在什么问题么? 为什么大家都找PDF的? 是不是CHM版和原书比有删节? 关于在vc里面给字符进行md5加密 救命呀,关于在CTreeCtrl上插入新节点的问题? 大家好,我有一个问题谁可以帮助我??? 发邮件时发生错误!请各位大虾指教! 关于COM技术的问题。 ListView 刷新问题 为什么要渲染客户区
单击时设定一个字符串
WM_KILLFOUCS时清除这个字符串即可
补充你说的,除了你说的当鼠标点击对话框时,给CEdit编辑框发送WM_KILLFOCUS消息..然后在OnKillFocus函数中添加处理函数之外...还要去添加CEdit编辑框的鼠标左键点击消息..然后在此消息函数里去发送WM_SETFOCUS这个消息...让编辑框再次获得焦点..这样编辑框才能不断被使用,总之,谢谢回帖人:simoreg...
单击时设定一个字符串
WM_KILLFOUCS时清除这个字符串不行吗?
有必要你给自己发WM_KILLFOCUS吗?2、
一开始就失去焦点吗?
我猜你是想:当鼠标在编辑框上时触发一个动作,不管鼠标点不点,当鼠标离开时,再触发一个动作,是么?
如果是这样,你可以:
在OnMouseMove里打开鼠标跟踪,如下:
TRACKMOUSEEVENT tme;
tme.cbSize = sizeof(tme);
tme.dwFlags = TME_HOVER | TME_LEAVE;
tme.dwHoverTime = 1;
tme.hwndTrack = m_hWnd;
BOOL boRet = _TrackMouseEvent(&tme);
然后,你就可以响应WM_MOUSEHOVER,WM_MOUSELEAVE消息了
需要手动添加:如下:
ON_MESSAGE(WM_MOUSEHOVER,OnMouseHover)
ON_MESSAGE(WM_MOUSELEAVE,OnMouseLeave) afx_msg LRESULT OnMouseLeave(WPARAM wParam,LPARAM lParam);
afx_msg LRESULT OnMouseHover(WPARAM wParam,LPARAM lParam);
不是你说的那个意思,我想弄的就是现在我们正在用的QQ那个显示"搜索联系人,网页信息和问问答案"的CEdit编辑框...这个功能我差不多就可以实现了 ...我唯一还没实现的功能就是当程序运行的时候它没有失去焦点..也就是说程序运行的时候它处于编辑的状态..我就是想让程序运行的时候不处于编辑的状态..象QQ一样显示一些文字.但不处于编辑状态...要实现这功能应该是让CEdit编辑框失去焦点吧???不是这样子的话,还有其它方法吗???
你说的这个鼠标在控件中的移动和离开控件的消息应该在我这个功能上用不到.....???