StringGridで特定のセル以外は反応させないようにするには?

解決


nick  2012-12-11 22:14:49  No: 43463

こんにちは。
StringGridで特定のセルで文字の入力するに、
対象セル以外は反応させない方法はないでしょうか?

例えば OnClick でこんな事を書くと、あたり前ですが[2,2]を
クリックした途端、どのセルも入力できません。

  if (col=2) and( Row<2 ) then Enabled:=False
      else Enabled:=True;
      
よろしくお願いします。


Mr.XRAY  2012-12-11 22:42:54  No: 43464

こんにちは.
で,「反応させない」とは,どんなことを言うのでしょうか.

(1) キーボードでタイプしてもセルに入力できない
(2) セルに入力するコードを書いても入力できない
(3) マウスでクリックしても選択できない
(4) カーソル移動キーで,そのセルにはフォーカス移動できない
(5) 画面に,手でそのセルをタッチしても色が変化しない
(6) 画面に,手でそのセルにタッチしても,パソコンから火が出てこない(ないか ?)
(7) 目でそのセルを睨み付けても何も起こらない(最新の技術では起こるようにすることも可能性あり)
(8) 他のアプリから操作されても,そのセルだけは操作できない

等々............


nick  2012-12-11 23:09:18  No: 43465

Mr.XRAYさん早速ありがとうございます。

「(3)マウスでクリックしても選択できない」です。
「(4) カーソル移動キーで,そのセルにはフォーカス移動できない」も良いですね。

こちらの掲示板の発言入力フォームのは黒い部分をクリックしても反応がなく、
名前やメールアドレス等入力部分が限られますが、
パネルにEditを貼って、パネルがGrid、対象セルがEditという感じです。
StringGridでこんなことが出来ないでしょうか?
よろしくお願いします。

Mr.XRAYさんのサンプルプログラム集はいつもお手本にさせていただいています。
ありがとうございます。


au  2012-12-12 00:57:31  No: 43466

OnSelectCellイベント?
ttp://docwiki.embarcadero.com/Libraries/XE3/ja/Vcl.Grids.TCustomDrawGrid.OnSelectCell


nick  2012-12-12 03:24:49  No: 43467

お蔭様で(3)と(4)がいっぺんに出来ました。

>OnSelectCellイベント?
何日も考えていた事がこんなに早く解決するとは・・・
ありがとうございました。

書き忘れましたが XP+DELPHI6proでした。


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

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






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