2016-03-10 23 views
5

Tôi sử dụng VirtualStringTree (VST) để hiển thị dữ liệu được nhóm, chi tiết tiêu đề. Tôi cần có tùy chọn để cho phép người dùng mở rộng, thu gọn tiêu đề để xem chi tiết và trong một số trường hợp tôi cần hiển thị dữ liệu dưới dạng chế độ xem tĩnh, nơi họ không thể mở rộng, thu gọn, chỉ xem toàn bộ cây mở rộng:Cách ẩn nút mở rộng/thu gọn trong Chế độ xem trang ảo?

Ở đây được ví dụ khi người dùng có thể mở rộng, sụp đổ nút với nút con:

enter image description here

và đây là ví dụ khi tôi muốn ngăn chặn người sử dụng để mở rộng/nút sụp đổ và luôn xem tất cả mở rộng (hoặc bất cứ điều gì được hiển thị):

enter image description here

trong thử nghiệm này tôi kiểm soát bằng hộp kiểm 'Cho phép mở rộng/thu gọn /'.

tôi ngăn chặn mở rộng, sụp đổ bằng cách thêm:

Allowed:=CheckBox1.Checked; 

vào OnCollapsing/OnExpanding:

procedure TMainForm.VSTCollapsing(Sender: TBaseVirtualTree; 
    Node: PVirtualNode; var Allowed: Boolean); 
begin 
    Allowed:=CheckBox1.Checked; 
end; 

procedure TMainForm.VSTExpanding(Sender: TBaseVirtualTree; 
    Node: PVirtualNode; var Allowed: Boolean); 
begin 
    Allowed:=CheckBox1.Checked; 
end; 

Tôi cũng hiển thị/ẩn TreeLines dựa vào checkbox với

procedure TMainForm.CheckBox1Click(Sender: TObject); 
begin 
    if CheckBox1.Checked then 
    VST.TreeOptions.PaintOptions:=VST.TreeOptions.PaintOptions + [toShowTreeLines] 
    else 
    VST.TreeOptions.PaintOptions:=VST.TreeOptions.PaintOptions - [toShowTreeLines]; 
end; 

thế nào tôi có thể ẩn dấu cộng nhỏ này khi tôi muốn ngăn người dùng mở rộng, thu gọn không se node. Bất kỳ đề xuất?


EDIT:

Để làm sáng tỏ sự nhầm lẫn với biểu tượng hình thức, đây là dự án trình diễn từ ảo thư viện bản demo Treeivew 5. Biểu mẫu trong IDE có biểu tượng Delphi XE7, khi chạy dự án biểu tượng cũ này xuất hiện. Không biết tại sao. Chỉ muốn chắc chắn rằng nó là rõ ràng rằng tôi sử dụng XE7 và không phải bất kỳ phiên bản Delphi cũ, nơi mà các giải pháp tương tự có thể không áp dụng.

Trong IDE vào biểu tượng nếu như biểu tượng XE7:

enter image description here

+0

Trên một lưu ý phụ, câu hỏi của bạn được gắn thẻ Delphi-xe7 nhưng các biểu tượng trên ứng dụng của bạn xuất hiện như một rất cũ phiên bản Delphi ...? –

+0

Không nhận thấy rằng lúc đầu ... đó là một dự án demo từ thư viện demo ảo Treeview 5, bản demo tối thiểu. IDE cho thấy biểu tượng XE7 trên Form, khi chạy cái creep cũ này .. không biết tại sao. –

+0

Phải là tệp gốc '.res' cũ giữ trên đó. –

Trả lời

6

Các tùy chọn bổ sung mà bạn đang tìm kiếm là toShowButtons. Sử dụng nó ở cùng một nơi bạn sử dụng toShowTreeLines.

Các tùy chọn là tài liệu trong VirtualTrees.pas trong tờ khai cho TVTPaintOption:

toShowButtons,    // Display collapse/expand buttons left to a node. 
+0

Tuyệt vời, nó hoạt động như mong đợi! –

Các vấn đề liên quan