16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"TEdit,TMemo上書き"
この発言に対し以下のコメントが寄せられています
#01043 らせん企画 さん RE:TEdit,TMemo上書き
こんにちは、snailです。
TEdit や TMemo は文字を入力すると挿入モードで入力されてしまいます、
これを上書きモードにする例です。例では CheckBox のON、OFFでモード
を切り替えています。
新規フォームに TEdit,TMemo,TCheckBoxを2つ貼り付け、OnKeyPressイベント
に下記ソースを貼り付けて下さい。
※ このコードは「お手軽」モードで作成しました。
改行コードなどは考慮していません。
//////// ↓↓↓ ここから ↓↓/////////////////////////////////////////
procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
var
cvtokan : array[0..2] of char;
begin
if CheckBox1.Checked = True then // CheckBox1がOnの時のみ
begin
if IsDBCSLeadByte( // 漢字コード判断
Byte( Memo1.Text[Memo1.SelStart+1] ) ) = True then
Memo1.SelLength := 2
else
Memo1.SelLength := 1;
Memo1.ClearSelection;
end;
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if CheckBox2.Checked = True then // CheckBox1がOnの時のみ
begin
if IsDBCSLeadByte( // 漢字コード判断
Byte( Edit1.Text[Edit1.SelStart+1] ) ) = True then
Edit1.SelLength := 2
else
Edit1.SelLength := 1;
Edit1.ClearSelection;
end;
end;
//////// ↑↑↑ここまで↑↑↑ ////////////////////////////////////
00/3/10(Fri) 02:27pm GCH01436 snail
Original document by snail 氏 ID:(GCH01436)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|