RichEdit控件与父窗口使用消息反射机制实现过滤输入字符(WIN32应用)

本文通过RichEdit控件与父窗口的消息反射实现在父窗口中过滤RichEdit控件的输入、禁用RichEdit控件的VK_TAB。当用户点击TAB键时,焦点从RichEdit控件移至父窗口下一控件。(【注】我的界面程序使用的是炫彩框架,因炫彩编辑框不支持自动换行,所以才发生了下面的事情...)

具体操作如下:

1.父窗口界面初始化中添加创建RichEdit控件:

HWND hEditCommentInfo = CreateWindow(RICHEDIT_CLASS ,NULL ,WS_CHILD|WS_VSCROLL|WS_VISIBLE|ES_MULTILINE|ES_WANTRETURN|ES_AUTOVSCROLL,
         editLeft, editTop+110, 200, 200 ,hParentWnd) ,(HMENU)10001 ,NULL ,NULL);

现在运行程序,界面上显示RichEdit编辑框了!但,此时点击Tab键焦点进入不到RichEdit控件。嗯,当然了,父窗口不知道我自己创建了一个RichEdit窗体。此时需要响应父窗体的案按键消息,手动将焦点转移至RichEdit。

2.主窗体添加消息响应

(应用界面程序为炫彩框架,XCGUI_RegWndMessage为炫彩方法)
XCGUI_RegWndMessage(hCommentWnd, WM_KEYDOWN, SysKeyDown);

实现SysKeyDown响应方法

//当RichEdit前一个控件存在焦点,用户点击TAB键时将焦点移至RichEdit控件
BOOL CALLBACK SysKeyDown(WPARAM wParam ,LPARAM lParam )
{
 if (wParam == VK_TAB)
 {

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值