我从CWnd类继承,开发了一个文本编辑控件。如果是在对话框创建该控件,直接就能获得键盘输入,但如果是在CView中创建,键盘消息就被CView处理了。为了实现该控件的灵活性,我想不论该控件在哪里创建,只要获得了焦点,就能直接获得键盘输入,这一点和CEdit之类应该是相同的,不知道CEdit是如何处理的?
解决方案 »
- 窗口的任意分割
- 如何用程序控制动态的选择clistctrl中的某一行
- 為什麼類的公共變量不能寫值呢???Unhandle exception in pase.exe:0xC0000005:Access violation
- 在CView类中,OnUpdate()函数和OnInitialUpdate()函数怎么不能用classwizard来重载呀??郁闷~~
- 关于MDI的问题
- 如何用C++编DOS下的copy程序
- 如何调出Volume Control 这个设置框,就是相当与双击托盘区的小喇叭?
- 怎么获得剪贴板中数据的格式呀?
- 关于Visual C++.net中资源标志符的建立!
- 地址
- 大哥大姐们帮帮忙吧!!!小妹先谢谢了
- 请教:postmessage和sendmessage的老问题!
这是Windows SDK的办法,函数详细信息MSDN中有。
记得《Windows 程序设计》上册中有这样一个样例,不过是用API写的,不是MFC。
SetWindowLong(hwnd,GWL_WNDPROC,(LONG)mywndproc)
mywndproc是我定义的类里一个public函数,格式LRESULT ...,应该是没问题,但编译时报第三个参数转换失败。
bownk(光棍)的方法不好,因为我不希望在外部做相关处理。
既然用MFC,为什么不尝试继承,重写虚函数。