查看单个帖子
旧 2009-10-09, 01:15 PM   #1
huangyhg
超级版主
 
huangyhg的头像
 
注册日期: 04-03
帖子: 18592
精华: 36
现金: 249466 标准币
资产: 1080358888 标准币
huangyhg 向着好的方向发展
默认 如何让Ansi工程支持Unicode Edit的输入

如何让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);
::DispatchMessageW(&msg);
}

4.在焦点退出Edit控件时, 退出消息泵.
m_bStopMonitorUnicodeEdit = true;
__________________
借用达朗贝尔的名言:前进吧,你会得到信心!
[url="http://www.dimcax.com"]几何尺寸与公差标准[/url]
huangyhg离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)