Delphi-TPaintBox 크기 조절
문제
는 데 문제가의 크기를 조정 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;
제휴하지 않습니다 StackOverflow