EH 그리드에서 한글문제 해결
// interface use 절에 imm을 추가합니다.
uses imm;
// 그리드클래스의 protected 절에 다음과 같이 이벤트추가 합니다.
procedure WMIme_Composition(var msg:TMessage); message WM_IME_COMPOSITION;
implementation
// 이벤트구현
procedure TMyStringGrid.WMIme_Composition(var msg: TMessage);
var
imc: HImc;
buff: array [0..3] of Char;
len: integer;
begin
if (msg.lParam and GCS_COMPSTR) <> 0 then
begin
imc := ImmGetContext(Handle);
len := ImmGetCompositionString(imc, GCS_COMPSTR, nil, 0);
ImmGetCompositionString(imc, GCS_COMPSTR, @buff, len);
if CanEditModify and (len > 0) then
begin
ShowEditor;
if InplaceEditor <> nil then
with InplaceEditor do
begin
ImmSetCompositionString(imc, SCS_SETSTR, @buff, len, nil, 0);
SetWindowText(handle,pchar(text));
end;
end;
ImmReleaseContext(Handle, imc);
end;
end;
그리드에서 한글첫문자가 조합중 안나올경우 사용하세요...
'Delphi 문제점 Tip' 카테고리의 다른 글
한글조합창 문제 해결 (0) | 2022.05.10 |
---|---|
Delphi 4~7을 감염시키는 바이러스 (0) | 2022.05.02 |
CooltrayIcon으로 만든 프로그램이 실행중일때 윈도우종료가 안되요? FormCloseQuery(Sender: TObject; var CanClose: Boolean) (0) | 2022.04.27 |
UAC Windows10 Drag & Drop 윈도우메세지 (0) | 2022.04.26 |
윈도우10 idhttp ssleay32.dll 에러 (0) | 2022.04.20 |
댓글