如何能够截获任何一标准控件获得焦点时的绘制状态? 帅哥,我不仅截获了任何一标准控件获得焦点时的绘制状态甚至截获了它的消息响应函数,不过我是用API函数截获的,是在win32下编程实现的,不是在VB中调试的,不过如果你学习过API编程的话,你可以看懂.如果你感兴趣,我给你写出来,呵呵,这样一修改,整个控件就任你控制了,不过如果你没有**的编程经验,那就算了.我没有时间把它翻译成VB. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 To zbde00:把你的C源码写出来吧!一定给分!!! 自己去响应WM_PAINT消息就行了。 有时可以响应ON_DRAWITEM,像combo box下拉的时候。 那Treeview控件呢!如何去掉蓝底呢?一个很具体很直接的问题? 帅哥,不用急,我明天给你贴出来,哎呀,使用控件的方法有很多种,可以在一个HWND中显示,还可以 在hDlg中显示,你要那一种? 对于常用的控件来说,有标准的颜色消息,WM_CTLCOLOREDIT, WM_CTLCOLORLISTBOX, WM_CTLCOLORMSGBOX, WM_CTLCOLORSCROLLBAR, WM_CTLCOLORSTATIC,截取这些消息,就可以设置底色,另外,对于非标准的控件,没有相应的消息处理函数,对于标准窗口中的控件,你可以采用subclass技术,自己编程替代Windows为控件提供的预定义处理procedure,对于对话框中的控件,你可以捕获对话框的WM_PAINT消息,不过需要注意,在WM_INITDIALOG后控件就已经显示出来了,然后再发布WM_PAINT消息,所以,需要先获取控件(非hDlg)的hWnd,然后Invalidate(hWnd,NULL,FALSE),然后必须UpdateWindow(hWnd),然后你就可以重绘控件了,如果你只需要处理背景的话,可以获得这个控件的DC,hdc=GetDC(),然后GetClientRect(...),FillRect(...)上述两个过程,如果你感兴趣的话,我把代码贴出来 我试了一下,上述方法改变背景色可以,对于按钮,我没有成功,虽然可以改变显示的颜色,可是一Click之后,又恢复了. 当你单击Treeview控件中一个节点时,鼠标一按下就有一个蓝色的背景(蓝底)具体说就是在你一按下时,使其次不出现这个蓝底,怎么做?to zbde00解决的话把代码贴出来吧! 国庆好!提个问题 关于recorderset 不能update 怎样实现电脑自动随机书写文件?(搞定了还可加分) 如何用insert 插入带'号的字符串 在线急等水晶报表!!! 怎样使一个文本框最多只能输入3个汉字或6个字母??? 使用data控件与access表连接时,老是连不上?? 在线请求。 删除问题! 请教picturebox与vscroll的问题?(在线等候) 简单,拿分:列举Windows 命令(如:ping)----------------(SeaFish) 请各位老鸟帮一把,很菜的问题,先谢了。 TREEVIEW重新构造之后如何设置其中的NODE为选中状态?急 寻求技术支持!
另外,对于非标准的控件,没有相应的消息处理函数,对于标准窗口中的控件,你可以采用subclass技术,自己编程替代Windows为控件提供的预定义处理procedure,对于对话框中的控件,你可以捕获对话框的WM_PAINT消息,不过需要注意,在WM_INITDIALOG后控件就已经显示出来了,然后再发布WM_PAINT消息,所以,需要先获取控件(非hDlg)的hWnd,然后Invalidate(hWnd,NULL,FALSE),然后必须UpdateWindow(hWnd),然后你就可以重绘控件了,如果你只需要处理背景的话,可以获得这个控件的DC,hdc=GetDC(),然后GetClientRect(...),FillRect(...)
上述两个过程,如果你感兴趣的话,我把代码贴出来
鼠标一按下就有一个蓝色的背景(蓝底)
具体说就是在你一按下时,使其次不出现这个蓝底,怎么做?
to zbde00解决的话把代码贴出来吧!