Na veel zoeken / proberen toch maar de vraag op dit forum stellen.
Ik heb 2 beeldschermen van verschillend formaat. Ik wil een horizontale balk laten zien. Die balk moet de breedte van het actuele scherm vullen. Dus scherm 1 of scherm 2.
Het probleem is dat als ik Image1.Width een lengte geef met een getal, dan wordt alles goed getekend op beide schermen. (Getal is dan wel afhankelijk van de scherm breedte)
Als Image1.Width afhankelijk wordt gemaakt van MainForm.ClientWidth dan wordt de balk veel te kort getekend op scherm 2. Scherm 1 gaat wel goed.
Bij het narekenen van Image1 met Label2.Caption := 'Image1.Width = ' + IntTostr(Image1.Width); dan blijkt de image toch de goede lengte te hebben.
Hoe kan ik er voor zorgen dat de balk altijd beeld breedte gevuld word op beide schermen? (Scherm 1 of scherm 2)
Code:
procedure TMainForm.FormPaint(Sender: TObject);
var A : integer;
begin
A := MainForm.ClientWidth;
Label1.Caption := 'MainForm.ClientWidth = ' + IntToStr(A);
Image1.Left := 0;
Image1.Top := 100;
Image1.Width := A;
Image1.Height := 100;
Image1.Canvas.Pen.Color := clRed;
Image1.Canvas.Brush.Color := clYellow;
Image1.canvas.Rectangle(0, 0, Image1.Width - 1, Image1.Height - 1);
Label2.Caption := 'Image1.Width = ' + IntTostr(Image1.Width);
end;
Bookmarks