掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
StringGridで検索した文字列のフォーカスを維持するには? (ID:9715)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
質問の意図をよく理解できないままの回答でスミマセン;; >// FindDialog1.CloseDialog; //これをしないとハイライトしないのが困る と有ったのでgdFocusedの属性を持つセルをハイライトと呼んでいるのかと思いました。 1□□□□□□□ 2□□■■□□□ 3□■■■□□□ 4□□□□□□□ 5□□□□□□□ ここで言うと[2,2]ですが、StringGrid自体のフォーカスが無くなると■になることを指しているのかと思っただけです。 >検索ダイアログ表示中も、親フォームのハイライトとその移動が見えるようにしていたい 正直やりたいことが分かりません。 ハイライトとはここで言う選択領域■であると仮定して、それが移動とあるので一つのCellのみを選択して移動しながら文字検索を行うということにして回答させていただきます。 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, StdCtrls; type TForm1 = class(TForm) StringGrid1: TStringGrid; Button1: TButton; FindDialog1: TFindDialog; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure FindDialog1Find(Sender: TObject); private { Private 宣言 } public { Public 宣言 } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin StringGrid1.DefaultColWidth:=10; StringGrid1.DefaultRowHeight:=10; StringGrid1.RowCount:=10; StringGrid1.ColCount:=10; end; procedure TForm1.Button1Click(Sender: TObject); begin FindDialog1.Execute; end; procedure TForm1.FindDialog1Find(Sender: TObject); var i,p:integer; begin for i:= 1 to StringGrid1.ColCount-1 do for p:= 1 to StringGrid1.RowCount -1 do begin StringGrid1.Col:=i; StringGrid1.Row:=p; Application.ProcessMessages; sleep(100); end; end; end.
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.