最近在學習treeview控制項,參考了網的的一些資料在c++builder10.1上做了個demo。
先來個效果圖:
擺放控制項什麼的就不多說了,主要說下思路:
1、要在主視窗上的panel中顯示frame,於是設定了乙個tframe *frame變數來傳遞frame。
2、treeview用cb中的編輯器設計時做好。
3、利用action的caption屬性來對應treeview的節點上的text。
具體的程式如下:
**件:
public
:// user declarations
__fastcall tform1
(tcomponent* owner)
; tframe *frame;
string caption;
void __fastcall showframe
(string aname)
;
cpp檔案:
1.自定義showframe(string aname)函式:
void __fastcall tform1::
showframe
(string aname)
actionlist1-
>actions[i]
->
execute()
; frame-
>left = panel1-
>left ;
//加上以後可以減少切換時的閃爍
frame-
>top = panel1-
>top ;
frame-
>width = panel1-
>width ;
frame-
>height = panel1-
>height ;
frame-
>align = alclient;
frame-
>parent = panel1-
>parent ;
//顯示在form上的panel中}}
}
2.在treeview的onchange中切換頁面:
void __fastcall tform1::
treeview1change
(tobject *sender, ttreenode *node)}}
}
3.每個action對應乙個frame
void __fastcall tform1::
acfrframeoneexecute
(tobject *sender)
//-----------------------------
void __fastcall tform1::
acfrframeoneexecute
(tobject *sender)
4.如果按鈕切換frame,則要用到對應的action的caption
void __fastcall tform1::
toolbutton6click
(tobject *sender)
最後是網上找到的調整trview的行間距的**,我直接複製過來的。調整人後面的數字就可以調整行間距了。
void __fastcall tform1::
formshow
(tobject *sender)
第一次寫部落格,主要是為了留下做個備份,有不到之處還請多多指正! JS控制TreeView的結點選擇
網上有很多控制treeview的checkbox選中,但是自己嘗試的時候,要麼報錯,要麼不可行。以下這種寫法是經過驗證有效的,僅作參考,思維比較巧妙!tree 指令碼 這個指令碼的寫法巧妙運用生成的頁面原始檔中checkbox與其子結點div之間的關係!那麼,只需要在註冊一下觸發事件即可 prote...
treeview多資料載入 展開關閉控制
思路 1,載入根節點以及根節點的二級目錄 2,使用expand事件,獲取選中節點id,使用 getnodefromindex 方法獲取到treenode 3,遍歷獲取到的treenode節點的子節點,並賦值。這樣,擴充套件了乙個node就會把這個node的子node的子node的內容填充進來,保證了...
mongodb 開啟許可權控制
問題 安裝了mongodb之後,發現了乙個問題,建立乙個普通的read許可權使用者,他居然可以刪除 root賬號,而且任意建立各種賬號修改各種賬號。傻眼,這樣怎麼能用。解決 修改配置檔案 將security.authorization改為enabled,預設值是disabled,然後重啟mongo ...