フォーラム


ゲスト  

ようこそ ゲスト さん。このフォーラムに投稿するには 登録が必要です。

ページ: [1]
トピック: TMemo で Ctrl+A したら全選択するようにしたい&メッセージビープも消したい
DEKO
管理者
投稿数: 2691
TMemo で Ctrl+A したら全選択するようにしたい&メッセージビープも消したい
on: 2013/04/19 17:14 Fri

TMemo は TEdit 等とは異なり、Ctrl+A による全選択のショートカットが効きません。
Ctrl+A による全選択を実装するコードは以下のようになります。

procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
// TMemo で 〔Ctrl〕+〔A〕による全選択を可能にする
begin
if key=^A then
begin
(Sender as TMemo).SelectAll;
Key := #$00;
end;
end;

 
TMemo の OnKeyPress イベントハンドラに上記の記述をすると、Ctrl+A による全選択が可能になり、Ctrl+A した時のメッセージビープも消すことができます。

DEKO
管理者
投稿数: 2691
Re: TMemo で Ctrl+A したら全選択するようにしたい&メッセージビープも消したい
on: 2013/04/23 03:27 Tue

関連しますが、以下のような冗談みたいなコードは実際にコンパイルできます。

procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
begin
s := ^_^; // イミナイケド、コンパイルトオルヨ!
end;

 
これは何と表示されるのでしょうか?

procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage('H'^%^,^,^/',W'^/^2^,^$'.');
end;

 
種明かしは以下で。

[Delphi で ^ は "べき乗" の演算子ではないけれど?]
http://ht-deko.minim.ne.jp/ft1210.html#121019_01

ページ: [1]
WP Forum Server by ForumPress | LucidCrew
バージョン: 1.7.5 ; ページロード: 0.022 sec.