Code:
procedure TForm1.FormCreate(Sender: TObject);
var
dwStyle : DWord;
begin
dwStyle := GetWindowLong(ShellTreeView1.Handle,GWL_STYLE); //ShelltreeView Node Style
dwStyle := dwStyle or OBM_CHECKBOXES; //checkbox Style
SetWindowLong(ShellTreeView1.Handle,GWL_STYLE,dwStyle); //Style
end;
function IsNodeChecked(aNode :TTreeNode) :Boolean;
var
aTVItem :TTVItem;
begin
with aTVItem do begin
Mask := TVIF_STATE;
hItem := aNode.ItemId;
end;
TreeView_GetItem(aNode.TreeView.Handle, aTVItem);
result := (aTVItem.State and $2000) = $2000;
end;
procedure TForm1.Button3Click(Sender: TObject);
var
i:Integer;
aNode: TTreeNode;
begin
for i:=0 to ShellTreeView1.Items.Count-1 do
if IsNodeChecked(ShellTreeView1.Items[i]) then
ShowMessage(ShellTreeView1.Items[i].Text); //// IME CEKIRANOG FOLDERA
//ShowMessage(ShellTreeView1.Path); //// PUTANJA SELEKTOVANOG FOLDERA
///////////////////////////////////////////////////////////
//// KAKO DA SAZNAM PUTANJU CEKIRANOG FOLDERA? ////
///////////////////////////////////////////////////////////
end;
procedure TForm1.FormCreate(Sender: TObject);
var
dwStyle : DWord;
begin
dwStyle := GetWindowLong(ShellTreeView1.Handle,GWL_STYLE); //ShelltreeView Node Style
dwStyle := dwStyle or OBM_CHECKBOXES; //checkbox Style
SetWindowLong(ShellTreeView1.Handle,GWL_STYLE,dwStyle); //Style
end;
function IsNodeChecked(aNode :TTreeNode) :Boolean;
var
aTVItem :TTVItem;
begin
with aTVItem do begin
Mask := TVIF_STATE;
hItem := aNode.ItemId;
end;
TreeView_GetItem(aNode.TreeView.Handle, aTVItem);
result := (aTVItem.State and $2000) = $2000;
end;
procedure TForm1.Button3Click(Sender: TObject);
var
i:Integer;
aNode: TTreeNode;
begin
for i:=0 to ShellTreeView1.Items.Count-1 do
if IsNodeChecked(ShellTreeView1.Items[i]) then
ShowMessage(ShellTreeView1.Items[i].Text); //// IME CEKIRANOG FOLDERA
//ShowMessage(ShellTreeView1.Path); //// PUTANJA SELEKTOVANOG FOLDERA
///////////////////////////////////////////////////////////
//// KAKO DA SAZNAM PUTANJU CEKIRANOG FOLDERA? ////
///////////////////////////////////////////////////////////
end;
Hvala unapred :)
[Ovu poruku je menjao Bagwell dana 04.02.2009. u 10:59 GMT+1]