Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
페이지 컨트롤에 탭쉬트를 붙일려면?
win32밑에 있는 TPagecontrol에 동적으로 Tabsheet를 붙이려고 해봤는데 잘 안되는군요. 방법을 알고 싶습니다. 그리고 win3.1밑에 있는 TTabbedNoteBook의 탭의 캡션을 코드상에서 변경하는 법을 알고 싶습니다.
1
COMMENTS
박성훈
•
1999.07.14 05:48
박성훈 께서 말씀하시기를...
> win32밑에 있는 TPagecontrol에 동적으로 Tabsheet를 붙이려고 해봤는데 잘 안되는군요. 방법을 알고 싶습니다. 그리고 win3.1밑에 있는 TTabbedNoteBook의 탭의 캡션을 코드상에서 변경하는 법을 알고 싶습니다.
HOW TO DYNAMICALLY CREATE A PAGE CONTROL
----------------------------------------
Before we get into dynamically creating tab sheets, lets first
discuss how to dynamically create a PageControl (if one isn't
on the form already). This is done by calling TPageControl's
Create constructor with an owner parameter of Self. The Create
constructor returns a object reference of the newly created Page
Control object and assigns it to the 'PageControl' variable.
The second step is to set PageControl's Parent property to Self.
The Parent property determines where the new PageControl is to be
displayed; in this case its the form itself. Here's a code snippet
that demonstrates this.
var
PageControl : TPageControl;
PageControl := TPageControl.Create(Self);
PageControl.Parent := Self;
Note: When the form gets destroyed the Page Control and it tab
sheets will be destroyed also because they are owned by the form.
HOW TO DYNAMICALLY CREATE A TAB SHEET
--------------------------------------
There are two basic steps to dynamically add a new page to a
PageControl. The first is to dynamically create the TTabSheet as follows:
var
TabSheet : TTabSheet;TabSheet := TTabSheet.Create(Self);
Then we need to give it a caption as follows:
TabSheet.Caption := 'Tabsheet 1';
And finally, the most important piece is to tell the new tab sheet
which Page Control it belongs to. This is done by assigning the
TTabSheet's PageControl property a TPageControl reference variable
like the one created above (PageControl). Here's a code snippet
that demonstrates this.
TabSheet.PageControl := PageControl;
HOW TO DYNAMICALLY ADD A CONTROL TO A TAB SHEET
-----------------------------------------------
The key to creating and placing any control on a tab sheet is to
assign it's Parent property a TTabSheet class reference variable.
Here is an example.
var Button : TButton;Button := TButton.Create(Self);
Button.Caption := 'Button 1';
Button.Parent := TabSheet;
For more information on the TPageControl and TTabSheet objects
refer to the on-line documentation as well as look at the
ComCtrls.pas file in your ..Delphi..SOURCEVCL directory.
FULL SOURCE EXAMPLE
-------------------
// This code is extracted from a form with a single button on it.
unit DynamicTabSheetsUnit;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls, Buttons;
type TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure TestMethod(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var Form1: TForm1;
implementation
uses ComCtrls;
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
PageControl : TPageControl;
TabSheet : TTabSheet;
begin
// Create the PageControl
PageControl := TPageControl.Create(Self);
PageControl.Parent := Self;
// Create 1st page and associate it with the PageControl
TabSheet := TTabSheet.Create(Self);
TabSheet.Caption := 'Tabsheet 1';
TabSheet.PageControl := PageControl; // Create the first page
with TButton.Create(Self) do begin
Caption := 'Button 1';
OnClick := TestMethod; // Assign an event handle
Parent := TabSheet;
end; // Create 2nd page and associate it with the PageControl
TabSheet := TTabSheet.Create(Self);
TabSheet.Caption := ' Tabsheet 2';
TabSheet.PageControl := PageControl;
end;
procedure TForm1.TestMethod(Sender: TObject);
begin
ShowMessage('Hello');
end;
end.
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
박성훈
•
1999.07.13 21:04
1
COMMENTS
/
0
LIKES
페이지 컨트롤에 탭쉬트를 붙일려면?
win32밑에 있는 TPagecontrol에 동적으로 Tabsheet를 붙이려고 해봤는데 잘 안되는군요. 방법을 알고 싶습니다. 그리고 win3.1밑에 있는 TTabbedNoteBook의 탭의 캡션을 코드상에서 변경하는 법을 알고 싶습니다.
박성훈
•
1999.07.14 05:48
박성훈 께서 말씀하시기를... > win32밑에 있는 TPagecontrol에 동적으로 Tabsheet를 붙이려고 해봤는데 ...
박성훈
1999.07.13 21:00
0
COMMENTS
/
0
LIKES
컴포넌트를 저장/로딩할 때...
박성훈
1999.07.13 20:53
0
COMMENTS
/
0
LIKES
컴포넌트의 버전이 다를 때...
sunhee
•
1999.07.13 20:13
2
COMMENTS
/
0
LIKES
웹브라우저 컨트롤?
이정욱
•
1999.07.13 22:12
Component에서 Import ActiveX를 하셔서 Microsoft Internet Controls를 임포트하시면 Internet Explorer ...
sunhee
•
1999.07.13 22:26
저도 그걸 이용해보려 했는데 팝업메뉴 조절이 안되더군요. 제 나름대로의 팝업메뉴를 만들 수 있는 방법...
김태환
•
1999.07.13 20:02
1
COMMENTS
/
0
LIKES
BitButton에서 버튼에 색깔을 넣고싶은데요?
이정욱
•
1999.07.13 22:10
TBitBtn은 색깔을 바꿀 수 없습니다. 색깔을 바꿀수 있는 컴포넌트가 한델(http://www.delphi.co.kr)자...
정
•
1999.07.13 19:44
1
COMMENTS
/
0
LIKES
신인재님,송기원님 감사하구요 한번더...
신인재
•
1999.07.13 23:43
쩝....감사를 표하시니...좀 송구스럽네요....^^; 음...님께서 말하신 폼을 스트링으로 콜은 하는 것은 ...
김은석
1999.07.13 19:29
0
COMMENTS
/
0
LIKES
Table 이름을 변경하고 싶어요....
박수연
•
1999.07.13 19:17
1
COMMENTS
/
0
LIKES
탭키의 기능 바꾸기..
이정욱
•
1999.07.14 13:46
쩝... 한번 해봤는데 역시 안잡히던군요.. 후후.. 하도 신기해서(?) 될때까지 해봤습니다. 코딩은 안해주...
이일수
1999.07.13 19:04
0
COMMENTS
/
0
LIKES
[알려주세요!] AVI편집!
김정원
•
1999.07.13 18:00
1
COMMENTS
/
0
LIKES
(급)DBGrid 에서 MultiSelect 하기
궁금이
•
1999.07.13 18:05
김정원 께서 말씀하시기를... > Dbgrid에서 MultiSelect를 해서 이 그 해당 레코드의 한 필드값을 파라메...
김종환
•
1999.07.13 16:03
1
COMMENTS
/
0
LIKES
nil..! nil...?
노력하는이
•
1999.07.13 19:30
김종환 께서 말씀하시기를... > 책을 보다가, 팁을 보다가, 공개 소스를 보다가 nil 이라는 신택스가 나오...
김종환
1999.07.13 12:03
0
COMMENTS
/
0
LIKES
스트림 송/수신
문창완
•
1999.07.13 08:02
1
COMMENTS
/
0
LIKES
MDB를 네트웍상에서 트랜잭션을...
델초보
•
1999.07.13 19:03
문창완 께서 말씀하시기를... > MDB를 사용해서 네트웍상에서 트랜잭션처리를 하고싶은데 가능할까요... ...
이광연
•
1999.07.13 07:49
1
COMMENTS
/
0
LIKES
1개의 테이블에서 AND가 잘 안됩니다.
손창근
•
1999.07.13 19:00
안녕하세요.. 오공이 입니다.. 이광연님의 Sql문을 보니 and 부분이 잘못되어 있는거 같네요.. 제 생각으...
김도진
•
1999.07.13 05:32
1
COMMENTS
/
0
LIKES
LAN 에서 다른컴퓨터 종료시킬려면?
구창민
•
1999.07.13 08:53
김도진 께서 말씀하시기를... > 안녕하세요 정말종은 사이트 같습니다. > NT4.0을 쓰구요 LAN으로컴퓨터3...
박성훈
•
1999.07.13 05:32
1
COMMENTS
/
0
LIKES
db구성에 대해
조복기
•
1999.07.13 18:42
안녕하세요..조복기입니다.. 당연히 마스터 디테일로 나누어서 관리하시는게 편하실겁니다. 관리하기...
장철진
•
1999.07.13 05:15
1
COMMENTS
/
0
LIKES
투명하게.....
구창민
•
1999.07.13 08:57
장철진 께서 말씀하시기를... > 안녕하세요 ... > 이미지그림의 바탕에서 그위에 리스트박스를 올렸습니...
안류진
•
1999.07.13 04:59
1
COMMENTS
/
0
LIKES
이미지 field에 파일 입력하는 방법[긴급]
김영대
•
1999.07.14 04:41
안류진 께서 말씀하시기를... > 현재 sysbase를 사용하고 있습니다. > 이미지 field에 파일을 등록하고 ...
김종성
•
1999.07.13 03:43
1
COMMENTS
/
0
LIKES
[긴급질문] 프로그래스바와 타이머를 이용한 이벤트
구창민
•
1999.07.13 09:06
김종성 께서 말씀하시기를... > 1번질문> 델파이에서 폼에 프로그래스바를 지정한 후 > 스탭값...
이정석
•
1999.07.13 03:40
1
COMMENTS
/
0
LIKES
질문) 긴급...오라클8i 8.1.5.0.0과 델파이 4.0 C/S 연결은?
suezou
•
1999.08.06 20:26
이정석 께서 말씀하시기를... > 델파이와 오라클 연결에 관한 질문입니다. > 오라클 : Oracle 8i 8.1.5.0...
박성훈
1999/07/13 21:04
Views
377
Likes
0
Comments
1
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
> win32밑에 있는 TPagecontrol에 동적으로 Tabsheet를 붙이려고 해봤는데 잘 안되는군요. 방법을 알고 싶습니다. 그리고 win3.1밑에 있는 TTabbedNoteBook의 탭의 캡션을 코드상에서 변경하는 법을 알고 싶습니다.
HOW TO DYNAMICALLY CREATE A PAGE CONTROL
----------------------------------------
Before we get into dynamically creating tab sheets, lets first
discuss how to dynamically create a PageControl (if one isn't
on the form already). This is done by calling TPageControl's
Create constructor with an owner parameter of Self. The Create
constructor returns a object reference of the newly created Page
Control object and assigns it to the 'PageControl' variable.
The second step is to set PageControl's Parent property to Self.
The Parent property determines where the new PageControl is to be
displayed; in this case its the form itself. Here's a code snippet
that demonstrates this.
var
PageControl : TPageControl;
PageControl := TPageControl.Create(Self);
PageControl.Parent := Self;
Note: When the form gets destroyed the Page Control and it tab
sheets will be destroyed also because they are owned by the form.
HOW TO DYNAMICALLY CREATE A TAB SHEET
--------------------------------------
There are two basic steps to dynamically add a new page to a
PageControl. The first is to dynamically create the TTabSheet as follows:
var
TabSheet : TTabSheet;TabSheet := TTabSheet.Create(Self);
Then we need to give it a caption as follows:
TabSheet.Caption := 'Tabsheet 1';
And finally, the most important piece is to tell the new tab sheet
which Page Control it belongs to. This is done by assigning the
TTabSheet's PageControl property a TPageControl reference variable
like the one created above (PageControl). Here's a code snippet
that demonstrates this.
TabSheet.PageControl := PageControl;
HOW TO DYNAMICALLY ADD A CONTROL TO A TAB SHEET
-----------------------------------------------
The key to creating and placing any control on a tab sheet is to
assign it's Parent property a TTabSheet class reference variable.
Here is an example.
var Button : TButton;Button := TButton.Create(Self);
Button.Caption := 'Button 1';
Button.Parent := TabSheet;
For more information on the TPageControl and TTabSheet objects
refer to the on-line documentation as well as look at the
ComCtrls.pas file in your ..Delphi..SOURCEVCL directory.
FULL SOURCE EXAMPLE
-------------------
// This code is extracted from a form with a single button on it.
unit DynamicTabSheetsUnit;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls, Buttons;
type TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure TestMethod(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var Form1: TForm1;
implementation
uses ComCtrls;
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
PageControl : TPageControl;
TabSheet : TTabSheet;
begin
// Create the PageControl
PageControl := TPageControl.Create(Self);
PageControl.Parent := Self;
// Create 1st page and associate it with the PageControl
TabSheet := TTabSheet.Create(Self);
TabSheet.Caption := 'Tabsheet 1';
TabSheet.PageControl := PageControl; // Create the first page
with TButton.Create(Self) do begin
Caption := 'Button 1';
OnClick := TestMethod; // Assign an event handle
Parent := TabSheet;
end; // Create 2nd page and associate it with the PageControl
TabSheet := TTabSheet.Create(Self);
TabSheet.Caption := ' Tabsheet 2';
TabSheet.PageControl := PageControl;
end;
procedure TForm1.TestMethod(Sender: TObject);
begin
ShowMessage('Hello');
end;
end.