TEditを編集不可能に

解決


びる  2008-01-30 20:51:10  No: 29572

TEdit.enabled := falseにしたとき、背景色とともに文字色も固定(グレーアウト?)されてしまいますが、これを、現在の文字色、背景色を保ったまま、マウスでもキーボードでも編集不可能にする方法は有りませんでしょうか。


KHE00221  2008-01-30 21:01:05  No: 29573

ReadOnly プロパティ?


Ru  2008-01-30 21:31:39  No: 29574

KHE00221さんが言ってるようにReadOnly=Trueでできます。
フォーカスすら与えないいうのであれば
TPanel上にTEditを配置して

Panel.Enabled = False

にしてしまうとか。


めじな  2008-02-01 00:53:34  No: 29575

フォーカスすら与えない場合でPanel上に載っていなければ
SetWindowLong(Edit1.Handle, GWL_STYLE, GetWindowLong(Edit1.Handle, GWL_STYLE)  or WS_DISABLED);
でも可能です。


びる  2008-02-04 08:41:23  No: 29576

Readonly := True じゃ、なぜかダメなんです。なんで??
でも、TPanelに乗せる方法でうまく行きました。

ありがとうございます。

でも、なんでReadOnlyじゃだめなんだろ。


beagle  2008-02-06 22:28:58  No: 29577

質問者は、以下の情報を開示してはいかがでしょう。
Delphiのバージョン及びOS環境は?
「ダメ」というのは、今作っているプロジェクトに限ってダメなのか?
そのプロジェクトは誰かから引き継いだ/どっかから拾ってきたものか?
又、そちらの環境で・・・
新規でプロジェクトを作って、TForm1にTEdit1を貼り付けて
オブジェクトインスペクタからReadOnlyにTrueを指定してダメなのか?
あるいはオブジェクトインスペクタからは特に指定せずに
(デフォルトならReadOnlyはFalse)、さらにTButton1を貼り付けて
procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit1.ReadOnly := True;
end;
としてもやはりダメなのか?
そもそも「ダメ」とは何か?
マウス/キーボードで編集可能な状態になるのか?
文字色・背景色が希望通りにならないのか?
マウスででクリックすると、フォーカスが当たる(?というか、カーソルを
TEdit1に移せる?)ことか?


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

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






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