delphi – 为什么我的运行时创建的组件不出现在表单上?
我正在测试来自此Q& A
Component Creation – Joining Components Together?的示例,以了解如何创建自定义/复合组件.
虽然示例中安装的组件可以拖动到表单,但我似乎无法在运行时创建它. procedure TForm1.Button1Click(Sender: TObject); var MyPanel2 : TMyPanel; begin MyPanel2 := TMyPanel.Create(Form1); With MyPanel2 do begin Left := 10; Top := 10; Width := 400; Height := 400; Visible := True; Image.Picture.LoadFromFile('C:test.png'); end; end; 我尝试了自己和Form1作为所有者.使用面板和图像的属性. 只是不确定我做错了什么.没有错误,除非我忘记添加pngimage到我的用途.完成代码的步骤很好,运行时创建没有任何可视化. 解决方法
您需要在运行时代码中设置
Parent .
MyPanel2 := TMyPanel.Create(Self); with MyPanel2 do begin Parent := Self;//oops,you forgot to set this SetBounds(10,10,400,400); Image.Picture.LoadFromFile('C:test.png'); end; 您问题中的代码不会导致控件显示普通的香草TPanel,或实际上任何控件. 从documentation开始,我强调:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |