Delphi 使用预定义的选项卡打开表单时出现问题
下面的代码有效Delphi 使用预定义的选项卡打开表单时出现问题,delphi,Delphi,下面的代码有效 with pagecontrol1 do begin case Myindex of 0: activepage := tabsheet1; 1: activepage := tabsheet2; 2: activepage := tabsheet3; end; end; show; 以下代码不起作用 with pagecontrol1 do begin case Myindex of 0: activepage := tabshee
with pagecontrol1 do
begin
case Myindex of
0: activepage := tabsheet1;
1: activepage := tabsheet2;
2: activepage := tabsheet3;
end;
end;
show;
以下代码不起作用
with pagecontrol1 do
begin
case Myindex of
0: activepage := tabsheet1;
1: activepage := tabsheet2;
2: activepage := tabsheet3;
end;
end;
showmodal;
如何解决这个问题?问题是,当我在运行时创建一个新表单,并在使用showmodal之前设置活动页面时,该命令似乎被忽略,但是如果我将其显示为正常的“show”,它就会工作 我通过使用postmessage为被询问的人做了一个变通方法,以便在显示模式表单后可以触发该命令
...
private
Procedure WM_UserPage(var Msg: TMessage); message WM_USER+1;
...
procedure TForm2.UserPage(var Msg: TMessage);
begin
with pagecontrol do
case Msg.LParam of
0: activepage := tabsheet1;
1: activepage := tabsheet2;
2: activepage := tabsheet3;
end;
end;
from my first form I call :
procedure TForm1.ShowPage(PageNumber: integer);
var
MyForm : TForm2;
begin
MyForm := TForm2.create(self);
with MyForm do
try
PostMessage(MyForm.Handle, WM_USER+1, 0, PageNumber);
showmodal;
finally
FreeAndNil(MyForm);
end;
end;
你能说得更准确些吗?有什么问题?调用
showmodel
后会发生什么?您从哪个方法调用代码,它似乎是表单的一部分。这将有助于为这个问题添加上下文。你必须定义“不起作用”以及你期望发生的事情。