Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

日本文字入力ができなくなる

0 views
Skip to first unread message

micro_bug

unread,
Apr 11, 2006, 7:36:01 AM4/11/06
to
われわれのプログラムはVC++.Net2003&MFC&Framework1.1で開発されました。
Unicodeを採用しました。
ユーザ環境に.Net
Framework2.0をインストールしてから、PopupフォームにあるTextboxに、IMEで日本文字が入力できなくなりました、結構怪しいと思います。
たとえば、”あい”を入力すると、”BD”になります。
1.もしプログラムはUnicodeを採用するではなく、MBCSを採用したら、この問題がない;
2.もしFrameWork1.1とFramework2.0両方ともインストールしたら、問題がない;
3.われわれのプログラムの中に、このPopupフォームはCWnd::CreateEX()でCreateされました。もしフォールはCDialog::DoModal()で表示されたら、この問題がない。
コートは下記のとおりです:
------------------------------------------------------------------------------------------------

//register a windows class

LPCTSTR lpszPopupClass;
try
{
//Modified by csq
CBrush oBrush;
oBrush.CreateSysColorBrush(COLOR_MENU);
lpszPopupClass= AfxRegisterWndClass( CS_OWNDC|CS_HREDRAW | CS_VREDRAW,
::LoadCursor(NULL,IDC_ARROW)
, HBRUSH(oBrush.GetSafeHandle()) , NULL );
oBrush.DeleteObject();
}
catch (CResourceException* pEx)
{
AfxMessageBox( _T("Couldn't register class! (Already registered?)"));
pEx->Delete();
}

//create the popup window
if( CreateEx(WS_EX_DLGMODALFRAME, lpszPopupClass, _T("New Report"),
WS_CAPTION|WS_BORDER|WS_VISIBLE,
CRect(200,200,400,400), AfxGetMainWnd(), NULL) )
{
ShowWindow(SW_SHOW);
return TRUE;
}

----------------------------------------------------------------------------------------------------------------
実は,MFCプログラムは.Net Frameworkを利用しないだろう。ただ、今.Net
Framework2.0をインストールしてから、日本語入力できなくなった、結構困りました。


0 new messages