组件里有一个CEdit控件,一个CRichEdit控件,要做成一个聊天窗口类似的功能,在下面的CEdit控件里输入内容回车后,显示在上面的CRichEdit里。现在在获取CEdit控件的回车消息时遇到了困难。
我添加了一个空类CMyEdit,继承了CEdit,
#include <atlapp.h>
#include <atlctrls.h>class CMyEdit : public CEdit
{
};
想在这个类重载PreTranlateMessage,但是发现组件里不会响应这个函数,有什么其它方法能获取到回车消息么?后来想到用OnChar,但是通过WTL Helper添加的消息响应函数是这个样子的
LRESULT CMyEdit::OnChar(TCHAR ch, UINT cRepeat, UINT flags)
{
return 0;
}
如何通过ch来判断是回车键?返回值又如何定义的?还有一个问题,我用CMyEdit定义了一个变量m_wndEdit,想把这个变量与控件相关联起来,但是无论是用DDX的方式,还是GetDlgItem、SubClassWindow的方式,都会报错,是不是CMyEdit类写的不完整导致的?
我添加了一个空类CMyEdit,继承了CEdit,
#include <atlapp.h>
#include <atlctrls.h>class CMyEdit : public CEdit
{
};
想在这个类重载PreTranlateMessage,但是发现组件里不会响应这个函数,有什么其它方法能获取到回车消息么?后来想到用OnChar,但是通过WTL Helper添加的消息响应函数是这个样子的
LRESULT CMyEdit::OnChar(TCHAR ch, UINT cRepeat, UINT flags)
{
return 0;
}
如何通过ch来判断是回车键?返回值又如何定义的?还有一个问题,我用CMyEdit定义了一个变量m_wndEdit,想把这个变量与控件相关联起来,但是无论是用DDX的方式,还是GetDlgItem、SubClassWindow的方式,都会报错,是不是CMyEdit类写的不完整导致的?
解决方案 »
- 新手提问:回调函数中如何调用一个事件处理函数
- 如何指定一个单文档窗口出来的位置和大小?
- 请教一个小问题:怎么在一个DLL中调用另一个DLL文件??
- OnDraw()中调用下面的语句,
- 怎样使用发送消息的方式实现CListBox的AddString()方法,就像使用发送WM_SETTEXT消息可以调用CWnd的SetWindowText()那样。。。。
- 我做了一个用任务栏图标响应鼠标事件的例子,结果?????
- 运行MFC自带的wordpad出现链接错误...怪!!!
- 数据库、操作系统方面的好书。
- 如何对button附上图片或图标?
- 怎样自己调用on_update_command_ui消息的函数
- 对话框初始化的时候怎样将光标置于Edit控件上?
- XML属性值特殊字符处理问题
OnChar(TCHAR ch, UINT cRepeat, UINT flags)
mfc下是比较
ch == VK_RETURN
flags是表示是否还同时按下了shift,ctrl等键的。
wtl没有文档~,这就是用wtl最痛苦的地方。
^_^ 那你去 vckbase wtl 或者 codeproject wtl找找吧。没用过wtl,帮不了你。