유수입니다.
1) 한영전환은 다음과 같은 함수를 참조해 주세요. Imm.hpp를 인클루드 시켜주어야
합니다. (#include <vcl\Imm.hpp>)
void __fastcall TMainForm::ConvK_Emode() // 한/영 모드 전환
{
K_Emode = ImmGetContext(Handle);
if (GetK_Mode()) // 한글모드이면 영문모드로
ImmSetConversionStatus(K_Emode, IME_CMODE_ALPHANUMERIC,
IME_CMODE_ALPHANUMERIC);
else // 영문모드이면 한글모드로
ImmSetConversionStatus(K_Emode, IME_CMODE_HANGEUL,
IME_CMODE_HANGEUL);
}
Boolean __fastcall TMainForm::GetK_Mode() // 한/영 모드 얻기
{
DWORD Conversion, S;
K_Emode = ImmGetContext(Handle);
ImmGetConversionStatus(K_Emode, &Conversion, &S);
if (Conversion == IME_CMODE_HANGEUL)
return True;
else
return False;
}
2) 수정모드인지 삽입모든인지는 리치에디트의 KeyUp이벤트에서
GetKeyState함수를 써서 검사하면 됩니다. (완벽한 처리를 위해 Formshow이벤트에서
한번 검사해 주면 되겠죠)
EX)
if ((Boolean)GetKeyState(VK_INSERT))
StatusBar1->Panels->Items[2]->Text = "삽";
else
StatusBar1->Panels->Items[2]->Text = "수";
3) 드래그 앤 드롭에 관련된 함수를 쓰시려면 Shellapi.hpp를 인크루드해 주어야
합니다.
#include <vcl\shellapi.hpp>
도움이 되셨기를....
흐르는 물 유수~
|