我试图做一个简单的程序,当点击其他框架/表单上的按钮时,该程序将显示一个框架。为了更清楚,我想要像MessageDialogBox,但我想要显示一个框架而不是MessageDialogBox。
到目前为止我尝试过的是OnClickEvent上的代码。
procedure TFrame3.SpeedButton1Click(Sender: TObject);
var
frm : TfrmVizorFunctii; // This is the frame I want to be appear;
begin
frm := TfrmVizorFunctii.Create(nil);
frm.Parent := nil;
frm.ABDBGrid1.ActiveColumn:=2;
frm.Left:=(Screen.Width-Width) div 2;
frm.Top:=(Screen.Height-Height) div 2;
frm.Show;
end;
我做错了什么?
答案 0 :(得分:7)
如果没有父级,则无法显示框架。您必须将现有表单(或该表单上的任何TWinControl
)设置为父表单,或者创建一个新的空表单并将其设置为父表单,如下所示:
Form := TEmptyForm.Create (Application);
Frame := TMyFrame.Create (Form);
Frame.Parent := Form;
Frame.Align := alClient;
Form.Show;
如果您真的只想显示相框,那么TEmptyForm
可以将BorderStyle
设置为bsNone
。