문제

는 데 문제가의 크기를 조정 TPaintBox 및 도면에 그것:

에서 내 형태(이름 FMain)나는 TPaintBox(명 DisplayImage),이는 나는 하려고 크기를 조정하는 형태로 크기가 조정됩니다.

그렇게 썼는 레이아웃 논리를 강제로 적()메소드에 대한 FMain(가 확인되고 있음이라고 올바르게)내가 하려고 크기를 조정 DisplayImage:

procedure TFMain.FormResize(Sender: TObject);
begin
   DisplayImage.Width := FMain.ClientWidth;
   DisplayImage.Height := FMain.ClientHeight;

   DisplayImage.Canvas.Brush.Color := clGreen;
   DisplayImage.Canvas.Brush.Style := bsSolid;
   DisplayImage.Canvas.Rectangle(0, 0, DisplayImage.Width, DisplayImage.Height);
end;

이럴 마지막 코드 그려해야 전체 이미지는 녹색 사각형을 통해 전체 이미지 만들기,그 효과적으로 항상 녹색입니다.신을 이미지(처럼 표준 bg 컬러의 델파이)그리고 모든면에서는 동안 크기가 조정을 위한 두 번째 분할 녹색 이미지 깜박이다.

나는 무엇을 놓치고,거기에 몇 가지 숨겨진 구성 요소를 업데이트해야 합 크기를 조정한 후?

사전에 감사합니다,

블리자드

도움이 되었습니까?

해결책

첫째,일을 대신

DisplayImage.Width := FMain.ClientWidth;
DisplayImage.Height := FMain.ClientHeight;

에서 각각의 크기를 조정,단순히 설정 Align := alClient 페인트 상자입니다.

둘째로,그리 페인트 상자를 사용하여 OnPaint 이벤트 페인트 박스:

procedure TFMain.DisplayImagePaint(Sender: TObject);
begin
   DisplayImage.Canvas.Brush.Color := clGreen;
   DisplayImage.Canvas.Brush.Style := bsSolid;
   DisplayImage.Canvas.Rectangle(0, 0, DisplayImage.Width, DisplayImage.Height)
end;
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top