(2)當鍵盤選擇時,代碼如下:
procedure TForm1.TreeVIEw1KeyDown(
Sender: TObject;
var Key: Word;
Shift: TShiftState);
begin
if (Key = VK_SPACE) and
Assigned(TreeVIEw1.Selected) then
ToggleTreeVIEwCheckBoxes(
TreeVIEw1.Selected,
cFlatUnCheck,
cFlatChecked,
cFlatRadioUnCheck,
cFlatRadioChecked);
end;
最後,我們給出一個小例子,來驗證一下的我們試驗的結果。在窗體上的擺放TreeVIEw、ImageList、Button和一個Memo組件(如圖三),在加入上面的代碼之後,我們來編寫這個Button的單擊事件的代碼:
procedure TForm1.Button1Click(Sender: TObject);
var
BoolResult:boolean;
tn : TTreeNode;
begin
if Assigned(TreeVIEw1.Selected) then
begin
tn := TreeVIEw1.Selected;
BoolResult := tn.StateIndex in
[cFlatChecked,cFlatRadioChecked];
Memo1.Text := tn.Text +
#13#10 +
'Selected: ' +
BoolToStr(BoolResult, True);
//Memo給出所選中的節點和當前的狀態
end;
end;
因為篇幅所限,上面的例子給出是最簡單的一個情況,如果要編寫更為專業的軟件,請讀者朋友充分發揮想象,一定做出更好的效果(如圖四)。