Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - TForm OwnerDraw Resize Problem
partybear23 - Mo 26.05.08 11:21
Titel: TForm OwnerDraw Resize Problem
Hi,
hab ne Form, Borderstyle bsNone,
ich male dann bei OnPaint nen Rahmen drum und Titelleiste etc. pp.
Funzt super, nur wenn ich das Formular size siehts blöd aus,
kleiner kein Thema, aber größer sieht man dann die Rahmen:
Wie krieg ich das weg?
Habs mit Cliprect versucht, hat irgendwie nicht hingehauen.
Wenn ich das komplette Formular erst grau übermale sind Labels und Speedbuttons nicht mehr zu sehen.
Irgendwas bei OnResize hat auch nicht geholfen, mag mir wer helfen :)?
Danke i.V. und Gruß
pb
Edit: Danke Narses, merk ich mir fürs nächste Mal
partybear23 - Di 27.05.08 14:00
So damit ihr das Problem mal genauer versteht
hab ich nen Sample hochgeladen.
Gruß
Edit:
Mal noch der Code falls jemand keine Lust hat das zu laden.
Borderstyle= bsNone
Methode um Sizen zu können:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| procedure TForm1.WMNCHitTest(var msg: TWMNCHitTest); var MPos: TPoint; Action: Integer; begin inherited;
MPos.X := Msg.XPos; MPos.Y := Msg.YPos; MPos := ScreenToClient(MPos);
Action := 0; if (MPos.X > Self.Width - 10) and (MPos.Y > 20) then Inc(Action, 1); if MPos.Y > Self.Height - 10 then Inc(Action, 2);
case Action of 1: Msg.Result := htRight; 2: Msg.Result := htBottom; 3: Msg.Result := htBottomRight; end; end; |
Und die Zeichenroutine:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure TForm1.FormPaint(Sender: TObject); begin canvas.Rectangle(0,0, width, height); end;
procedure TForm1.FormResize(Sender: TObject); begin formpaint(self); end; |
Moderiert von
Narses: Code- durch Delphi-Tags ersetzt
Lannes - Di 27.05.08 21:01
Hallo,
versuchs mal damit:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| procedure TForm1.FormPaint(Sender: TObject); begin Canvas.Rectangle(0,0, width, height); end;
procedure TForm1.FormResize(Sender: TObject); begin invalidate; end; |
partybear23 - Di 27.05.08 22:17
Vielen vielen Dank, du bist mein Held! :idea: :zustimm:
Klappt ausgezeichnet, dass es so eine Methode gibt, wusste ich nicht.
Gruß pb
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!