私は点滅しているノードが好きです。どうしたらいいですか?TTreeNodeが点滅しています。それはどうしたらいいですか?
0
A
答えて
1
これを達成するための共通のコントロールには何も組み込まれていないので、自分で行う必要があります。
TTimer
を使用し、起動するたびに、点滅効果を達成するために必要なノードのプロパティを変更します。
+0
+1これを達成するのに十分なシンプル –
4
以下、決して完全なソリューションですが、デビッドの答えの簡単な例:
type
TForm1 = class(TForm)
TreeView1: TTreeView;
Timer1: TTimer;
Button1: TButton;
Button2: TButton;
procedure TreeView1CustomDrawItem(Sender: TCustomTreeView; Node: TTreeNode;
State: TCustomDrawState; var DefaultDraw: Boolean);
procedure Timer1Timer(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
FHighTime: Boolean;
FHighNode: TTreeNode;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject);
var
R: TRect;
begin
if Assigned(FHighNode) then begin
FHighTime := not FHighTime;
FHighNode.MakeVisible;
R := FHighNode.DisplayRect(True);
InvalidateRect(TreeView1.Handle, @R, True);
end else begin
if FHighTime then
TreeView1.Invalidate;
FHighTime := False;
Timer1.Enabled := False;
end;
end;
procedure TForm1.TreeView1CustomDrawItem(Sender: TCustomTreeView;
Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
const
Colors: array [Boolean] of TColor = (clWindowText, clWindow);
HiColors: array [Boolean] of TColor = (clHighlightText, clHighlight);
begin
if Node = FHighNode then begin
if cdsSelected in State then
TreeView1.Canvas.Font.Color := HiColors[FHighTime]
else
TreeView1.Canvas.Font.Color := Colors[FHighTime];
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
// test
FHighNode := TreeView1.Items[2];
Timer1.Enabled := True;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
FHighNode := nil;
end;
あなたはハイライトのノードを設定するとセッターを呼び出すようなものであるようにデザインを変更したいかもしれない、などしかし、とにかく、あなたは考えを得る。
関連する問題
- 1. Arduino - readString.indexOfのループを停止しています(+ LEDの点滅が点滅しています)
- 2. LEDをCで点滅しようとしています
- 3. Cocoa:現在どの点のNSTextViewが点滅していますか?
- 4. なぜWPFが私の上で点滅していますか?
- 5. エラーメッセージが2回点滅しないようにするにはどうすればよいですか?
- 6. ノードが点滅しているのはなぜですか?
- 7. Linuxコンソール(例えばCygwin)でカーソルの点滅を止めるにはどうしたらいいですか?
- 8. p5.js:なぜ楕円が点滅していますか?
- 9. WPFなぜボタンの背景が点滅していますか?
- 10. CKEDITORの点滅していないリスト
- 11. smoothScrollToPositionがRecyclerViewで点滅しています
- 12. ホバーでブートストラップポップオーバーが点滅しています
- 13. JFrame画面が白と黒で点滅しています
- 14. アンドロイドエミュレータは何もせず、点滅したり点滅したり、あまりにも多くのインスタンスが実行されていると言います。
- 15. コロナSDKではどのように点滅しますか?
- 16. setTimeout JavaScript関数を使用してページをリフレッシュした後にページが点滅しないようにするにはどうすればよいですか?
- 17. 点滅して点滅する点滅カーソルモード?
- 18. NG-ショーの内容が点滅し、それはtruthyないとNG-マントはFF
- 19. Java2D描画が点滅しています
- 20. AS3公開SWFが点滅しています
- 21. 地図が頻繁に点滅しています
- 22. 入力カーソルが点滅しています
- 23. ブラウザが点滅タグをサポートしているかどうかを検出するにはどうすればよいですか?
- 24. Android - ボタンが点滅しない
- 25. Symfony OutputFormatterStyle "blink"が点滅しない
- 26. ngModel&textfieldが点滅しないOnBlurイベント
- 27. Android - LED通知が点滅しない
- 28. Javascriptボタンonclick()が点滅しない
- 29. スムーズスクロールがスクロールする前に点滅しているのはなぜですか?
- 30. while(!(cin)...と点滅しているプロンプト
あなたの個人的な用途のためのアプリケーションでない限り、してください、何も点滅しないでください。気が散って迷惑だ。ちょうどアニメーションや他の "私を見てください" UIの "フィーチャー"のように。 –