动态创建的控件怎么响应鼠标事件,怎么通过子窗口中的控件向父窗口发送消息
动态创建的控件如何响应鼠标事件,如何通过子窗口中的控件向父窗口发送消息
1、在一个窗口初始时动态创建了几个按钮,可是如何才能让这些按钮响应鼠标事件呢?
(一般情况下都是类向导中给按钮添加事件)
2、通过父窗口显示出窗口后,想通过子窗口中的一个控件触发父窗口中的一个事件?
3、如何让派生一个CRichEdit类,使其响应鼠标点击事件?
谢谢,各位,帮忙看看!
------解决方案--------------------
1)派生button类,然后创建你派生的类,就会有很大的灵活性。
另外你动态创建按钮时,也要指定id的,可以根据这些id做点事。
2)可以用让子类转发消息给父类。如果可能的话,可以自己在父类手工添加响应函数。
------解决方案--------------------
1 可以手动的添加消息映射
你看mfc自己生成的那些代码上面,有BEGIN_MESSAGEMAP等字样,这个就是消息映射,你要按照格式自己进行添加,
2 不明白你说的事件是什么意思,是不是就是主窗口的一个方法或者是和函数?假设你的主窗口的类名是CMyDialog
那么你这么做
在子窗口的cpp里面包含mydialog.h这个头文件,然后用下面的代码
CMyDialog *p=(CMyDialog)::AfxGetApp()->GetMainWnd();
这个指针p就是指向主窗口的,然后就可以这样使用主窗口的方法(主窗口类的成员函数和成员变量)了。
p->XXXX();
3 添加一个mfc的类,可以随便选择一个基类,也可以不选择,然后到这个类的h文件里面,找到类声明的地方,在后面加上
:public CRichEdit
1、在一个窗口初始时动态创建了几个按钮,可是如何才能让这些按钮响应鼠标事件呢?
(一般情况下都是类向导中给按钮添加事件)
2、通过父窗口显示出窗口后,想通过子窗口中的一个控件触发父窗口中的一个事件?
3、如何让派生一个CRichEdit类,使其响应鼠标点击事件?
谢谢,各位,帮忙看看!
------解决方案--------------------
1)派生button类,然后创建你派生的类,就会有很大的灵活性。
另外你动态创建按钮时,也要指定id的,可以根据这些id做点事。
2)可以用让子类转发消息给父类。如果可能的话,可以自己在父类手工添加响应函数。
------解决方案--------------------
1 可以手动的添加消息映射
你看mfc自己生成的那些代码上面,有BEGIN_MESSAGEMAP等字样,这个就是消息映射,你要按照格式自己进行添加,
2 不明白你说的事件是什么意思,是不是就是主窗口的一个方法或者是和函数?假设你的主窗口的类名是CMyDialog
那么你这么做
在子窗口的cpp里面包含mydialog.h这个头文件,然后用下面的代码
CMyDialog *p=(CMyDialog)::AfxGetApp()->GetMainWnd();
这个指针p就是指向主窗口的,然后就可以这样使用主窗口的方法(主窗口类的成员函数和成员变量)了。
p->XXXX();
3 添加一个mfc的类,可以随便选择一个基类,也可以不选择,然后到这个类的h文件里面,找到类声明的地方,在后面加上
:public CRichEdit