VirtualTreeView에 Integer 자료를 넣어 보았는데, 만약 String 자료를 넣고 싶다면
1. 중간 매개자
var
iPData : PString; //Integer 일경우에는 PInteger 이었습니다.
2, 데이터 사이즈
NodeDataSize:= SizeOf(String) //Integer일 경우에는 SizeOf(Integer) 이었습니다.
3. 화면 표시
CellText:= iPData^; //Integer 일경우에는 InttoStr(iPData^); 이었습니다.
레코드 자료도 같은 방법으로 사용하면됩니다.
레코드 선언은
pMyRecord = ^MyREcord;
myRecord =record
no: integer;
name: string;
addr: string;
end;
와 같이하고, 예전에 List에 저장 할 경우에는 New 와 Dispose를 사용하였는데,
VirtualTreeView에서는 자체에서 메모리를 관리하므로 하지 않아도 됩니다.
1. 중간 매개자
var
iPData: pMyRecord;
2. 데이터 사이즈
NodeDataSize:= SizeOf(myRecord); //pmyRecord 가 아님
3. 화면 표시
화면에 표시 할 자료를 선정합니다. 여기서는 3개(no, name, addr) 다 표시합니다.
VTV 의 Header > Column... 을 크릭하여 Column 을 3개 추가 하고
각 Column 의 Text 와 Width 를 (순서: 50) , (이름: 100), (주소:100) 으로 설정합니다.
또한, Header > Options > hoVisible := True 로 합니다. (오브젝트 인스펙터에서).
그러면 VTV 에 해더가 나타납니다.
procedure TForm3.VirtualStringTree1GetText(Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex;
TextType: TVSTTextType; var CellText: string);
var iPData: pMyRecord;
begin
iPData:= Sender.GetNodeData(Node);
case Column of
0: CellText:= IntToStr(iPData.no);
1: CellText:= iPData.name;
2: CellText:= iPData.name;
end;
end;
각 걸럼의 CellText 를 Case 문으로 지정하여 주면 됩니다.
VST 의 TreeOptions > MiscOptions > toEditable := True 로 하면 F2 키로 편집이 되는데
다른 노드로 이동하면 원상이 되버립니다.
표시되는 값만 바뀌고 원 데이터는 아래와 같이 수정하여 주어야 합니다.
Events > OnNewText를 더블 크릭하여
procedure TForm3.VirtualStringTree1NewText(Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex; NewText: string);
var iPData: pMyRecord;
begin
iPData:= Sender.GetNodeData(Node);
case Column of
0: iPData^.no:= StrToInt(NewText);
1: iPData^.name:= NewText;
2: iPData^.addr:= NewText;
end;
end;
하면 됩니다.
2012년 10월 17일 수요일
피드 구독하기:
댓글 (Atom)
델파이 12.1이냐 11.3이냐?
델파이가 12.1이 나왔습니다. 혹시 11.3버전의 커뮤니티버전이 필요하시는분이 있을 수 있을 것 같아 https://altd.embarcadero.com/.../RADStudio_11_3_esd_28... 와 이것 찾느랴 엄청고생함.
-
윈도우10에 있는 음성 녹음기는 간단하게 녹음 할 때 간편하고 좋다. 곰 녹음기를 사용하면 오늘기준으로 CPU 점유율이 35% 이상 올라가 맥의 팬이 돌아간다. 윈10의 음성녹음기는 좋은 데 저장 폴더가 디폴트로 되어 있어 사용하기 불편하다. ...
-
클라이언트가 HTTP프로토콜을 이용해서 서버에 무언가를 전달할 때 Get 이나 Post가 사용됩니다. GET은 주소줄에 값이 ?뒤에 쌍으로 이어붙고 여러개일 경우에는 & 으로 반복하고, POST는 숨겨져서(body안에) 보내집니다. GET...
-
일단은 Python 사이트에가서 dmg 파일을 다운받아 설치합니다. m1 프로세서일경우에는 아래에 있는 파일이겠죠. 터미널을 열어 파이썬의 위치를 확인합니다. 파이썬3의 위치로 이동합니다. [cd /usr/local/bin] 파인더를 엽니다. [...
댓글 없음:
댓글 쓰기