2009-10-12 5 views
0

이미 컨트롤이 가득한 페이지가 많은 경우 TPageControl에 페이지를 삽입하는 가장 좋은 방법은 무엇입니까? TabSheet1 앞에 새 페이지를 삽입하려고한다고 가정 해 봅시다.TPageControl 안에 새 페이지를 삽입하는 법

감사합니다.

업데이트 : 디자인 타임에.

답변

9

당신은 당신이 TabSheet1의 PageIndex에 PageIndex 속성을 설정해야합니다 디자인 타임에이

procedure TForm13.Button1Click(Sender: TObject); 
Var 
    tabSheet: TTabSheet; 
    AComponent: TComponent; 
    aIndex: Integer; 
begin 
    aIndex:=-1; 

    AComponent := FindComponent('TabSheet1'); 
    if Assigned(AComponent) then 
    if AComponent is TTabSheet then 
     aIndex := TTabSheet(AComponent).PageIndex; //get the index of the 'TabSheet1' 

    tabSheet := TTabSheet.Create(PageControl1); 
    tabSheet.PageControl := PageControl1; 
    tabSheet.Caption := 'My TabSheet'+IntToStr(PageControl1.PageCount); 
    if aIndex>-1 then 
    tabSheet.PageIndex := aIndex; //Set the index of the new TabSheet 
end; 

업데이트

을 시도 할 수 있습니다.

안녕히 계십시오. pagecontrol에

+1

이 예제에는 많은 코드가 있습니다. 실제로 * 질문에 대답하는 부분은'PageIndex'가 새로운 값을 할당받는 마지막 줄입니다. –

+0

디자인 타임에 삽입한다고 말 했어야합니다. (내 질문을 편집해야합니까?) – volvox

+0

그건 내가 생각한거야. 확인 - 어쨌든 코드에 대한 감사는 유용 할 것입니다. – volvox

13

마우스 오른쪽 단추로을 클릭 새 페이지 그 후

는, 당신이 그것을 갖고 싶어 새 페이지를 배치 할 PageIndex 속성을 설정합니다.

관련 문제