几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   程序界面 (http://www.dimcax.com/hust/forumdisplay.php?f=124)
-   -   如何让Ansi工程支持Unicode Edit的输入 (http://www.dimcax.com/hust/showthread.php?t=31030)

huangyhg 2009-10-09 01:15 PM

如何让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;


所有的时间均为北京时间。 现在的时间是 08:35 PM.