几何尺寸与公差论坛

 找回密码
 注册
查看: 2061|回复: 0

如何让Ansi工程支持Unicode Edit的输入

[复制链接]
发表于 2009-10-9 13:15:12 | 显示全部楼层 |阅读模式
如何让Ansi工程支持Unicode Edit的输入

1.使用CreateWindowExW创建控件,如
hEditWnd = CreateWindowExW(WS_EX_NOPARENTNOTIFY | WS_EX_CLIENTEDGE, L"Edit", NULL, WS_VISIBLE | WS_CHILD | WS_BORDER | WS_TABSTOP | ES_AUTOHSCROLL, 0, 0, 300, 24, m_hWnd, (HMENU)IDC_UNICODE_EDIT, NULL, NULL);

2.在焦点进入Edit控件时,进入自己的消息泵,此消息泵使用GetMessageW,DispatchMessageW来完成消息分发.
m_bStopMonitorUnicodeEdit = false;
for(;;)
{
  if(m_bStopMonitorUnicodeEdit)
   break;
  
  MSG msg = { 0 };
  BOOL bRet = ::GetMessageW(&msg, NULL, 0, 0);
  if(bRet == -1)
  {
   continue;   // error, don't process
  }
  else if(!bRet)
  {
   break;  // WM_QUIT! exit message loop
  }
  
  ::TranslateMessage(&msg);
  :ispatchMessageW(&msg);
}

4.在焦点退出Edit控件时, 退出消息泵.
    m_bStopMonitorUnicodeEdit = true;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|几何尺寸与公差论坛

GMT+8, 2024-12-22 01:35 , Processed in 0.035097 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表