|
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) {
}
}
|