이전 페이지 색인을 수동으로 추적해야합니다. 다음과 같이 보일 것이다
procedure TWizardForm.NextClick(ASender: TObject);
begin
SwitchPage(True);
end;
procedure TWizardForm.PreviousClick(ASender: TObject);
begin
SwitchPage(False);
end;
SwitchPage을() :
procedure TWizardForm.SwitchPage(AForward: boolean);
var
LGotoPage: integer;
begin
LGotoPage := PageControl.ActivePageIndex;
if AForward and (PageControl.ActivePageIndex < PageControl.PageCount) then
inc(LGotoPage)
else if PageControl.PageIndex > 0 then
dec(LGotoPage);
if (LGotoPage <> PageControl.ActivePageIndex)
and AllowSwitchFrom(ActivePageIndex) then
begin
FPreviousPage := PageControl.ActivePageIndex;
PageControl.ActivePageIndex := LGotoPage;
end;
end;
또는 그 효과에 뭔가 예를 들어, 다음 및 이전 단추의 OnClick 이벤트 핸들러에서, 당신이 뭔가를 할 수 있습니다.:)
편집 : 마법사가 순차적 인 순서로 이동하려는 경우 Argalatyr이 정확하고 잘못된 경우입니다. 여기서 가정합니다.
OnChanging 처리기가 실제로 실행되며 사용자가 보낸 페이지가 활성 페이지 (여전히)입니다.
예제에서와 같이 페이지 인덱스를 직접 설정하면 OnChanging 이벤트가 발생하지 않으므로 이전 페이지 인덱스를 추적해야합니다. 이는 옵션 페이지 (순차적이지 않은)로 마법사를 코딩 할 때 발생합니다.
내가 게시하기 전에 좀 더 잘 확인 했어야합니다. 오답에 대한 사과. 정렬을 VCL이 형성 응용 프로그램을 만듭니다
을하고 설정하는 TPageControl
에 드롭 :
N 당신이 페이지를 변경하는 올바른 방법을 사용하는 경우
출처
2009-08-25 01:43:29
Nat
필드에 이전 페이지 색인의 값을 저장할 수 없습니까? – idursun
이 질문은 실제로 프레임과 관련이 없습니다. 그것들은 당신이 탭 시트에 가지고있는 구성 요소 일뿐입니다. 당신이 요구하는 것은 pagecontrol이며 페이지 변경 후 어떤 탭 시트가 이전에 활성화되었는지 기록하는 것입니다. onchanging 이벤트는 당신이 원하는 것입니다. – Argalatyr
제목과 텍스트가 이전에 작성한 의견을 반영하도록 편집 됨 – Argalatyr