おしえてください。
TEditまたはTLabelを利用して下記のようなことをおこないたいのです。TEditを利用するとすれば、文字入力はソースコードからのみ可能にし、かつ、マウスの右ボタンでコピー(クリップボードにコピー)のみ可能にすること。
また、TLabelの場合でいうとLabel.Captionをマウスの右ボタンでコピー(クリップボードにコピー)したいのですが、どのようにすれば可能でしょうか?
Edit1を読み込み専用にして
ポップアップメニュー設定
この変は設計時でもできます。
--
また、Edit1の読み込み専用は、他のソフトから
めーせーじで OFFにする裏技で解除できるので
確実にロックしたい場合は、めっせーじをフィルタして
内部変数とかいろいろ駆使して
自分が出したの以外、絶対。受け付けないようにするとか
工夫するといいです。
--
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.ReadOnly := True;
Edit1.PopupMenu := PopupMenu1;
end;
procedure TForm1.PM_Copy1Click(Sender: TObject);
begin
Edit1.CopyToClipboard;
end;
procedure TForm1.PopupMenu1Popup(Sender: TObject);
begin
PM_Copy1.Enabled := Edit1.SelLength >0;
// 常にテキスト全体なら
// PM_Copy1.Enabled := Length(Edit1.Text) >0;
end;
追加修正
procedure TForm1.PM_Copy1Click(Sender: TObject);
begin
Edit1.CopyToClipboard; // 選択文字のみ
// 全部コピーの場合
// uses Clipbrd;
// Clipboard.AsText := Edit1.Text
end;
あっ ついでに
ラベルだと
Clipboard.AsText := Label1.Caption;
ですね。
右クリックの設定は
Editと同じですので ここでは、省かせてもらいます。
osakanaさん。
ありがとうございます。
ラベルを使ってやってみたところ、すんなりできました。
ツイート | ![]() |