1.요약
특정 컨트롤에서 영문만 입력 받고자 할때에는 IME의 사용을 중지하면 됩니다.
2.본문
IME 즉, Input Method Editor 라고 해서 현재 우리는 한글을 입력하기 위해서 윈도우에서 제공하는 한글 입력기를 사용하고 있습니다. 과거, 도스 상에서는 도깨비라는 에뮬레이터를 많지도 않은 메모리에 로드해서 사용했었는데, 하여튼 참 편하게 됐습니다.
특정 컨트롤에서 영문만 입력 받기 위해서는 IME 를 사용하지 않도록 설정하면 됩니다. 제공되는 함수로는, ImmAssociateContext() 이며 이 함수를 사용하여 IME 의 사용여부를 설정할 수 있습니다.
HWND hWnd,
HIMC hIMC
);
3.예제
#pragma comment(lib, "Imm32.lib")
void CIMEDlg::OnImeSet()
{
// IME 저장 폴더
static HIMC hImc = NULL;
static BOOL bOn = TRUE;
if (bOn)
{
// IME 해제
hImc = ImmAssociateContext(GetDlgItem(IDC_EDIT_IME)->GetSafeHwnd(), NULL);
SetDlgItemText(IDC_IME, _T("IME ON"));
}
else
{
// IME 설정
hImc = ImmAssociateContext(GetDlgItem(IDC_EDIT_IME)->GetSafeHwnd(), hImc);
SetDlgItemText(IDC_IME, _T("IME OFF"));
}
bOn = !bOn;
}
'C & C++ > MFC 컨트롤' 카테고리의 다른 글
[Tip] Winamp 처럼 TaskBar와 SystemTray 가지고 놀기 (0) | 2011.03.27 |
---|---|
[공통] 컨트롤에 ToolTip 넣기 (0) | 2011.03.27 |
[Tip] 트레이 아이콘 사라지는 버그 (0) | 2011.03.27 |
[Tip] 윈도우에 Focus 가지 않게 하기 (0) | 2011.03.27 |
[Tip] 메뉴에 '최근 사용한 파일 목록' 만들기 (0) | 2011.03.27 |
댓글