这怎么判断鼠标点在哪个控件上呢? 我在对话框里建了很多个控件,我想在程序执行时,鼠标点在哪个控件上就删除哪个?这怎么判断鼠标点在哪个控件上呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://expert.csdn.net/Expert/topic/1669/1669793.xml?temp=.8041803和里面我说的类似。得到那个控件的ID, if 中在一个个比较!做出其他操作。 first ,use WindowFromPoint can get window handle,then use GetClassName can get control class name. 给你提供一个思路:1、做一个鼠标消息钩子,对你的程序中的所有的wm_lbuttondown消息进行过滤2、对钩到的每个消息用HWND WindowFromPoint(POINT& Point)通过win32定义的POINT结构typedef struct tagPOINT { LONG x; LONG y; } POINT; 来获得当前鼠标光标位置的窗口HWND,常规操作如下:先得到Cursor的POINT(BOOL GetCursorPos(LPPOINT)函数),再用WindowFromPoint。这样,我们几乎可以获得任何打开的有窗口的函数的HWND了!然后通过获取类名的win32 api函数(int GetClassName( HWND hWnd, LPTSTR lpClassName, int nMaxCount ))得到类名——这里的lpClassName最好用字符数组地址,nMaxCount就是数组的size了, 3、对于每个的到的符合条件的hwnd, ::ShowWindow(hwnd,SW_HIDE); ::DestroyWindow(hwnd); 具体情况请查msdn 运行了你的程序?不明白你到底要怎么做?你是删除表达式树中的某一项呢?还是删除某个edit或者某个ccombobox???如果是前者,你在程序中已经基本上实现了呀?如果是后者,你已经使用了vector,那么你直接便利两个vector根据那个item有焦点就删除那个item不就行了还有你既然在程序中有托动不同的控件,你又怎么可能“鼠标点在哪个控件上就删除哪个?这怎么判断鼠标点在哪个控件上呢?话又说回来,你既然已经对你的控件用vector尽心了很好的组织,你想知道鼠标点的是那个控件不是一件很简单的事吗?直接用GetClassName()函数就行了!!!//----------------------------------------我想我还是没有弄明白你的意图?” 如何使用CXImage压缩PNG图片? 关于HOOK的超级难题! 求教一个关于CListCtrl类删除之后在添加的选项不能显示问题 类似ACDsee看图软件问题? MFC问题? 紧急求助,一个工程项目的问题。 请问当鼠标移动到一个区域内,如何显示一个提示窗口 对消息的不明白(急,谢谢) (急~~~~~~~~~)如何将数据区中每像素16位转变为RGB24位? 求改变文件时间的具体例子 如何获得dialog的变量 如何从DLL中载入类
做出其他操作。
1、做一个鼠标消息钩子,对你的程序中的所有的wm_lbuttondown消息进行过滤
2、对钩到的每个消息用HWND WindowFromPoint(POINT& Point)
通过win32定义的POINT结构
typedef struct tagPOINT
{
LONG x;
LONG y;
} POINT;
来获得当前鼠标光标位置的窗口HWND,常规操作如下:先得到Cursor的POINT(BOOL GetCursorPos(LPPOINT)函数),再用WindowFromPoint。这样,我们几乎可以获得任何打开的有窗口的函数的HWND了!然后通过获取类名的win32 api函数(int GetClassName( HWND hWnd, LPTSTR lpClassName, int nMaxCount ))得到类名——这里的lpClassName最好用字符数组地址,nMaxCount就是数组的size了,
3、对于每个的到的符合条件的hwnd,
::ShowWindow(hwnd,SW_HIDE);
::DestroyWindow(hwnd);
具体情况请查msdn
不明白你到底要怎么做?
你是删除表达式树中的某一项呢?还是删除某个edit或者某个ccombobox???如果是前者,你在程序中已经基本上实现了呀?
如果是后者,你已经使用了vector,那么你直接便利两个vector根据那个item有焦点
就删除那个item不就行了
还有你既然在程序中有托动不同的控件,你又怎么可能“鼠标点在哪个控件上就删除哪个?这怎么判断鼠标点在哪个控件上呢?
话又说回来,你既然已经对你的控件用vector尽心了很好的组织,你想知道鼠标点的是那个控件不是一件很简单的事吗?直接用GetClassName()函数就行了!!!//----------------------------------------
我想我还是没有弄明白你的意图?
”