文字入力をソースコードでのみ可能にしかつクリップボードにコピー可能にするには?

解決


鉛筆の芯  2005-07-12 06:34:41  No: 16299

おしえてください。
TEditまたはTLabelを利用して下記のようなことをおこないたいのです。TEditを利用するとすれば、文字入力はソースコードからのみ可能にし、かつ、マウスの右ボタンでコピー(クリップボードにコピー)のみ可能にすること。
また、TLabelの場合でいうとLabel.Captionをマウスの右ボタンでコピー(クリップボードにコピー)したいのですが、どのようにすれば可能でしょうか?


osakana  2005-07-12 06:51:57  No: 16300

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;


osakana  2005-07-12 06:56:36  No: 16301

追加修正

procedure TForm1.PM_Copy1Click(Sender: TObject);
begin
  Edit1.CopyToClipboard; // 選択文字のみ
// 全部コピーの場合
//  uses Clipbrd;
//  Clipboard.AsText := Edit1.Text
end;


osakana  2005-07-12 06:59:44  No: 16302

あっ  ついでに
ラベルだと
  Clipboard.AsText := Label1.Caption;
ですね。

右クリックの設定は
Editと同じですので  ここでは、省かせてもらいます。


鉛筆の芯  2005-07-12 07:15:04  No: 16303

osakanaさん。
ありがとうございます。
ラベルを使ってやってみたところ、すんなりできました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加