unitunit1;
inte***ce
uses
windows, messages, sysutils, variants, classes, graphics, controls, forms,
dialogs, comctrls, stdctrls;
type
tform1 =
class
(tform)
treeview1: ttreeview;
button1: tbutton;
button2: tbutton;
button3: tbutton;
procedure
formcreate(sender: tobject);
procedure
button1click(sender: tobject);
procedure
button2click(sender: tobject);
procedure
button3click(sender: tobject);
end;var
form1: tform1;
implementation
uses
commctrl;
//讓 treeview 帶有核取方塊
procedure
tform1.formcreate(sender: tobject);
var h: hwnd;
begin
h := treeview1.handle;
setwindowlong(h, gwl_style, getwindowlong(h, gwl_style)
or tvs_checkboxes);
with
treeview1
do
begin
align := alleft;
items.add(
nil,
'aaa'
); items.add(
nil,
'bbb'
); items.add(
nil,
'ccc'
); items.addchild(items[
2],
'111'
); items.addchild(items[
2],
'222'
); items.addchild(items[
2],
'333'
);
end;
end;
//列舉帶有核取方塊的項
procedure
tform1.button1click(sender: tobject);
var node: ttreenode;
tvi: ttvitem;
begin
fornode
in treeview1.items
do
begin
tvi.mask := tvif_state;
tvi.hitem := node.itemid;
treeview_getitem(treeview1.handle, tvi);
if tvi.state
and
$2000
= $2000
then
showmessage(node.text);
end;end
;//取消所有選中(這是後來補充的, 所以效果圖上沒有)
procedure
tform1.button2click(sender: tobject);
var node: ttreenode;
tvi: ttvitem;
begin
fornode
in treeview1.items
do
begin
tvi.mask := tvif_state;
tvi.hitem := node.itemid;
tvi.statemask := tvis_stateimagemask;
tvi.state :=
$2000
shr 1
; treeview_setitem(treeview1.handle, tvi);
end;end
;//選中所有(這是後來補充的, 所以效果圖上沒有)
procedure
tform1.button3click(sender: tobject);
var node: ttreenode;
tvi: ttvitem;
begin
fornode
in treeview1.items
do
begin
tvi.mask := tvif_state;
tvi.hitem := node.itemid;
tvi.statemask := tvis_stateimagemask;
tvi.state :=
$2000
; treeview_setitem(treeview1.handle, tvi);
end;end
;end
.
關於treeview控制項核取方塊
js吧。給你 我實現了的。沒什麼問題。記得在page load時間寫 this.treeview1.attributes.add onclick checkevent jscript code 獲取元素指定tagname的父元素 function public getparentbytagname ...
給數字加上註解
注釋 命名清晰 簡單,單獨的變數使用,例如 變數定義 int a 1 判斷 if a 1 這些情況下通常會利用巨集定義來代替這些幻數 魔數,例如 定義 define max 1 使用 a max if a max 陣列使用,例如 gui程式設計需要定義5個按鍵,class,pop,定義 button...
給postmessage加上callback方法
postmessage雙向通訊中,是不能使用 函式的。window.postmessage 這樣是不行的,js會提示function不會被轉殖。我猜啊因為postmessage是通過dom通訊,js物件會被json化 也就是說不能傳遞方法。不過,話說回來,有什麼不能的呢,大不了,把function ...