문제

초보자이기 때문에 방금 첫 번째 질문에 대답했습니다 (Delphi : 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;

이미지가 보이지 않습니다. 내가 뭘 잘못하고 있죠?

그들의 조언에 대해 모두에게 감사하고 싶습니다. 바라건대, 기본 질문을하는 것은 다른 사람들이 미래에 그들에게 묻지 않도록 도와줍니다 :-)

도움이 되었습니까?

해결책

모든 이미지 구성 요소의 부모 속성을 포함 된 양식으로 설정하십시오.

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 현재 양식의 제어 목록에 대한 구성 요소?

즉, 당신이 창조하기 때문에 TImage 코드에서 실제로 양식의 컨트롤에 추가되었음을 의미하지는 않습니다. 코드로 그렇게해야합니다. 그러나 몇 년 안에 Delphi를 만지지 않았으므로 지금은 코드를 제공 할 수 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top