题
是相当一个新手,我刚喝了我的第一个问题回答(德尔福: TImage.Create导致访问冲突)立即碰到一个新的问题:
procedure TSelectorForm.FormCreate(Sender: TObject);
var
Loop: Byte;
begin
for Loop := 1 to 10 do
begin
ArrayOfImages[Loop] := TImage.Create(SelectorForm);
MainForm.MyImageList.GetBitmap(Loop - 1, ArrayOfImages[Loop].Picture.Bitmap);
ArrayOfImages[Loop].Top := ...
ArrayOfImages[Loop].Left := ...
ArrayOfImages[Loop].Enabled := True;
ArrayOfImages[Loop].Visible := True;
end;
end;
当我显示这种形式
procedure TMainForm.MyImageClick(Sender: TObject);
begin
SelectorForm.Visible := True;
end;
的图像是不可见的。我在做什么错了?
我要感谢大家的意见。我们希望,询问基本问题,帮助他人避免要求他们在未来的: - )
解决方案
所有图像分量的Parent属性设置为包含它们的形式。
procedure TSelectorForm.FormCreate(Sender: TObject);
var
Loop: Byte;
begin
for Loop := 1 to 10 do
begin
ArrayOfImages[Loop] := TImage.Create(SelectorForm);
MainForm.MyImageList.GetBitmap(Loop - 1, ArrayOfImages[Loop].Picture.Bitmap);
ArrayOfImages[Loop].Top := ...
ArrayOfImages[Loop].Left := ...
ArrayOfImages[Loop].Visible := True;
ArrayOfImages[Loop].Parent := SelectorForm;
end;
end;
其他提示
好吧,我想你必须单TImage
组件添加到当前表单控制列表?
这意味着:仅仅因为你在代码中创建一个<=>并不意味着它实际上是添加到窗体的控件。你必须做,在代码 - 但是,我没有碰过德尔福在几年,所以现在我不能提供任何代码
不隶属于 StackOverflow