MDIの子ウィンドウを使ってフォーム上に複数の画像を表示しています。
その画像をカスケード表示するときにファイル名の昇順あるいは降順に
表示させることはできますか?
ヘルプを見てもそこまでの情報がなかったので、ご教授お願い致します。
Halbow です。
ファイル名を自前でソートして、フォーカスを与える順序を変えるといいです。
画像のファイル名が子ウィンドウの Caption に表示されていると仮定すると
以下のようにします。
uses
Unit2;
procedure TForm1.DoIt1Click(Sender: TObject);
var
SL:TStringList;
i:integer;
begin
SL := TStringList.Create;
try
for i := 0 to MDIChildCount-1 do
SL.AddObject(MDIChildren[i].Caption,MDIChildren[i]);
SL.Sort; // ソートはつねに昇順
for i := MDIChildCount-1 downto 0 do //昇順
//for i := 0 to MDIChildCount-1 do //降順
TForm(SL.Objects[i]).SetFocus;
Cascade;
finally
SL.Free;
end;
end;
Halbowさん、ありがとうございます。
解決いたしました。
ツイート | ![]() |