Autor Beitrag
partybear23
Hält's aus hier
Beiträge: 11

Win XP Pro
D6, PHP5, Java
BeitragVerfasst: Mo 26.05.08 11:21 
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
Einloggen, um Attachments anzusehen!
partybear23 Threadstarter
Hält's aus hier
Beiträge: 11

Win XP Pro
D6, PHP5, Java
BeitragVerfasst: 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:

ausblenden 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 - 10and (MPos.Y > 20then
      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:

ausblenden 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 user profile iconNarses: Code- durch Delphi-Tags ersetzt
Einloggen, um Attachments anzusehen!
Lannes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: Di 27.05.08 21:01 
Hallo,

versuchs mal damit:
ausblenden 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
  //formpaint(self);
  invalidate;
end;

_________________
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
partybear23 Threadstarter
Hält's aus hier
Beiträge: 11

Win XP Pro
D6, PHP5, Java
BeitragVerfasst: 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