Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- PostgreSQL
- winsock
- Firebird
- 예제
- SQL
- 소니
- c#
- Visual Studio 2005
- 기초
- 인스톨
- 입문
- MFC
- 데이터베이스
- xml
- dll
- 설치
- 초보
- 문자열
- 셋업
- 파이어버드
- 시리얼 통신
- SDK
- Delphi
- 델파이
- VB.NET
- MySQL
- vb
- Visual Basic
- 파라미터
- WIN32 SDK
Archives
- Today
- Total
프로그래밍 노트
델파이: 컨트롤 안에 있는 컨트롤을 이름으로 검색하기 본문
procedure TForm1.Button2Click(Sender: TObject);
var
ctrlTest: TControl;
edtTemp : TEdit;
begin
ctrlTest := SearchCtrl(Panel1, 'Edit2');
edtTemp := ctrlTest as TEdit;
edtTemp.Text := 'Test';
end;
function TForm1.SearchCtrl(wctlParent:TWinControl; sName:string):TControl;
var
i : integer;
ctrlRet : TControl;
wctlTemp : TWinControl;
begin
Result := nil;
// Parent컨트롤에 검색할 컨트롤이 있는지 검색
for i := 0 to wctlParent.ControlCount - 1 do
begin
// WinControl로 치환
wctlTemp := wctlParent.Controls[i] as TWinControl;
// 검색할 컨트롤 밑에 컨트롤이 있는 경우
if wctlTemp.ControlCount > 0 then
begin
// 재귀용법으로 검색
ctrlRet := SearchCtrl(wctlTemp, sName);
Result := ctrlRet;
// 검색되었을 경우 검색 중단
if ctrlRet <> nil then Break;
end
// 동일한 이름의 컨트롤이 있을 경우
else if wctlParent.Controls[i].Name = sName then
begin
Result := wctlParent.Controls[i];
Break;
end
end;
end;
Comments