|
GetFirstChecked 와 GetNextChecked를 가지고 체크된 것들을 모두 가져옵니다.
TreeNode := VST.GetFirstchecked;
while (TreeNode <> nil) do
begin
Memo1.Lines.Add(Display TreeNode's Info);
TreeNode := VST.GetNextNode(TreeNode);
end;
히이로유이 님이 쓰신 글 :
: VirtualTreeView에서 체크 박스로 체크된 전체 항목들의 값을 Memo 같은곳에 표시하려고 합니다.
: VirtualTreeView의 OnChecked 이벤트로 해보면 마지막에 체크된 값들만 표시가 되고, 체크 해제 할때엔 그 체크 해제한 값이 들어가네요. 혹시나 해서 CheckState의 속성중에 csCheckedNormal 일때만 되게 해봐도 마찬가지네요.
: 다른 방벙으로 해볼까 해서 VirtualTreeView 함수를 봐도 GetFirstChecked 나 GetNextChecked뿐 여러개 체크된 것들의 값을 받아올만한게 없네요.
: OnChecked 이벤트 소스 코드 대충 아래와 같습니다.
:
: typedef struct tagData {
: AnsiString Device;
: AnsiString Date;
: AnsiString Location;
: AnsiString Data;
: } structData, *ptrstructData;
:
:
: void __fastcall TForm1::VirtualStringTree1Checked(TBaseVirtualTree *Sender,
: PVirtualNode Node)
: {
: if(Node->CheckState == csCheckedNormal) {
: structData *pData;
:
: Memo1->Lines->Clear();
:
: pData = (structData *)VirtualStringTree1->GetNodeData(Node);
: Memo1->Lines->Add(pData->Location);
: }
: else if(Node->CheckState == csUncheckedNormal) {
:
: }
: }
|