15番会議室「FAQ編纂委員会」に寄せられた「よくある質問の答え」
[Q]
Delphi2.0JサンプルコンポDirectoryOutlineのディレクトリー展開が、しば
しば正しく表示されません。親ディレクトリーをダブルクリックしたとき、
条件はわかりませんが、しばしば、展開表示が正しくなされません。よくあ
るのは、同じディレクトリーを、ダブルクリックで、展開-->閉じる-->展開、
と繰り返したときです。
o 開いたはずの親ディレクトリーのアイコンは閉じたマークのまま
o その直下か、さらにその下までの、新しい数個の子ディレクトリーが不
表示で、古いもののまま。
o マウスやカ−ソルでそれらの子ディレクトリーにフォーカスを当てると、
親とその子ディレクトリーの表示は正しくなるが、ほかの古いディレク
トリーは変わらない。
というような症状です。何か表示更新を行えばよいと思い、
DirectoryOutline1.TextCase:=DirOutln.TTextCase(tcLowerCase);
とか、
with DirectoryOutline1 do begin
Height:=Height-1; Update;
Height:=Height+1; Update;
end;
とか入れてみましたがダメです。
1.0J ではこのような不備はないようですが。
[A]
ディレクトリーをダブルクリック、あるいは'+'をキーインしたときに、展開
表示が不備になりますので、
procedure FullyExpand;
begin
with Form1.DirectoryOutline1 do begin
if ooDrawFocusRect in Options then begin
Options:=Options-[ooDrawFocusRect];
Options:=Options+[ooDrawFocusRect];
end else begin
Options:=Options+[ooDrawFocusRect];
Options:=Options-[ooDrawFocusRect]
end;
end;
end;
procedure TForm1.DirectoryOutline1DblClick(Sender: TObject);
begin
FullyExpand;
end;
procedure TForm1.DirectoryOutline1KeyPress(Sender: TObject; var Key: Char);
begin
if Key='+' then FullyExpand;
end;
で行きましょう。
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum FDELPHIに寄せられる質問の中から、よくある質問への回答を FDELPHIのメンバーがまとめたものです。 したがって、これらの回答はボーランド株式会社がサポートする公式のものではなく、掲示されている内容についての問い合わせは受けられない場合があります。
Copyright 1996-1998 Delphi Users' ForumFAQ編纂委員会
|