こんにちわ
TreeView.items[0].item[5].text:='test';
上記のように、TreeViewに追加した多数行のうち、
特定のテキスト行のみのフォントの色を指定する方法がわかりません。
すべてのフォントの色なら下記でいいと思うのですが。
TreeView.font.color :=clRed;
よろしくお願いします。
OnCustomDrawItem イベント
procedure TForm1.TreeView1CustomDrawItem(Sender: TCustomTreeView;
Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
if Node.AbsoluteIndex = 0 then
TTreeView(Sender).Canvas.Font.Color := clBlue
else
TTreeView(Sender).Canvas.Font.Color := clBlack;
end;
のような感じで、色を指定するのはどうですか?
igyさんRESありがとうございます。
今回の目的は、予めTreeViewのリストに追加されているテキストを
別のルーチンで順次実行するのですが、その際、現在実行されている
部分を示すため、TreeViewリストの該当行の色(背景orFont)を変えたい
と思ったのです。 他のアプリで同じような表示があったので、
DelphiのTreeviewでも出来るのかとプロパティーなど調べたのですが、
わかりませんでした。
提示の方法だと、Treeviewのリストをクリックした際、その行の
色を変えるというものですね。
もし、他の方法が、お願いします。
>提示の方法だと、Treeviewのリストをクリックした際、その行の
>色を変えるというものですね。
例では、クリックに関係なく、
一番上のが青で、それ以外は黒で表示されるコードを書いたのですが。
すみません。
早とちりしてしまいました。
うまくいきました。
考えてみれば、GridのOnDrawCellのような機能に思いつか
なければなりませんでした。うかつでした。
お手数をかけました。
ありがとうございます。