16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"[D3]StringGridセルによるIME制御"
この発言は #00006 MOMO_P さんのStringGridセルによるIME制御 に対するコメントです
■説明
D3 の場合の、セル単位での編集モード時 IME 制御のサンプルです。
Form1 に StringGrid1 を適当に配置して下さい。( StringGrid1 の
Options の goEditing を True に設定して下さい。) そして、以下の
コードを StringGrid の OnClick, OnGetEditText に記述して下さい。
■サンプルコード
//=====================================================================
{...略...}
procedure TForm1.StringGrid1Click(Sender: TObject);
begin
if not StringGrid1.EditorMode then SetImeMode( Handle, imClose );
end;{↑編集モードでないときには IME をクローズします}
procedure TForm1.StringGrid1GetEditText(Sender: TObject; ACol,
ARow: Integer; var Value: String);
begin
case ACol of
1, 3, 4: //1, 3, 4 列に対して...
case ARow of
2, 4 : SetImeMode( Handle, imHira ); //2, 4 行であれば...
else SetImeMode( Handle, imAlpha ); //上記以外であれば...
end;
else //1, 3, 4 列以外に対しては...
begin
SetImeMode( Handle, imKata );
end;
end;
end;
{...略...}
//=====================================================================
97/10/19(Sun) 03:58 Fermion [KHF03264]
Original document by Fermion 氏 ID:(KHF03264)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|