![]() |
Re: Panel wird nicht richtig gezeichnet
Vor "Antwort schreiben" bitte Anhänge ansehen oder eben keinen Antwortversuch machen. :mrgreen: Ist aber schon lobenswert, dass hier offensichtlich falsche/dumme Beiträge nicht abgeschickt und wieder "gecanceled" werden. :stupid: Ansonsten : wo ist die Antwort auf die Frage ?
|
Re: Panel wird nicht richtig gezeichnet
Zitat:
Zitat:
Du hast genau eine Frage gestellt - und zwar die in deinem Eingangsposting. Diese habe ich dir in Posting #4 beantwortet. Tja, da hatten wir anderen hier - wie immer - eine Lösung, aber die passte ja leider nicht zum Problem, nä? :lol: Viel Spaß die nächsten Jahre mit deinen Rectangels. |
Re: Panel wird nicht richtig gezeichnet
Nunja, wo Ingo Recht hat, hat er Recht, mit hilfe von einem Shape lässt sich das alles bei weitem schneller und feiner lösen (zumindest umrandungen..)
Die Frage ist nur möchte man das... eventuell will man auch was lernen bei, dann empfiehlt sich auch ab und an der umständliche Weg, bei welchem man Rechts und Links am Wegesrand noch was mitnehmen kann :zwinker: Bye Christian |
Re: Panel wird nicht richtig gezeichnet
Hi Hansa,
schließt sich bei dir der weg einer kleinen eigenen Kompo aus? Nehm doch deine eigenen Panels die du so wie ich es gesagt habe erweiterst. Das Thema umrandung war so bei mir in 5 min abgehakt. gruß oki |
Re: Panel wird nicht richtig gezeichnet
Zitat:
Da es nur um das erstmalige Anzeigen der Form geht könnte man auch SetCursorPos usw. verwenden. Alles geht irgendwie. :P @Ingo : TShape hat mit einem Label kaum was zu tun und scheidet deshalb aus. |
Re: Panel wird nicht richtig gezeichnet
Hi Hansa,
Zitat:
Delphi-Quellcode:
Wenn ich jetzt nichts vergessen hab, dann wars das.
TMyPanel = class(TCustomPanel) // oder CustomControl, je nach Geschmack
private FDrawFrame: boolean; FFrameColor : TColor; // Farbe des Frame ändert sich bei Select FSelected: Boolean; procedure SetDrawFrame(const Value: boolean); procedure SetSelected(const Value: Boolean); protected procedure Paint; override; procedure DoEnter; override; procedure DoExit; override; property Selected : Boolean read FSelected write SetSelected; public published property DrawFrame : boolean read FDrawFrame write SetDrawFrame; end; procedure TMyPanel.Paint; var OldColor : TColor; begin inherited Paint; IF FDrawFrame then begin // zur besseren Sichtbarkeit Rahmen um Komponente zeichnen Oldcolor := self.Canvas.Brush.Color; self.Canvas.Brush.Color := FFrameColor; self.Canvas.FrameRect(self.ClientRect); self.Canvas.Brush.Color := OldColor; end; end; procedure TMyPanel.SetSelected(const Value: Boolean); begin FSelected := Value; IF FSelected then FFrameColor := clBlue else FFrameColor := clBlack; Invalidate; end; procedure TMyPanel.DoEnter; begin Selected := True; inherited DoEnter; end; procedure TMyPanel.DoExit; begin Selected := False; inherited DoExit; end; procedure TMyPanel.SetDrawFrame(const Value: boolean); begin FDrawFrame := Value; Invalidate; end; DrawFrame hab ich eingeführt, damit man im OI das Zeichnen auch abschalten kann. Der Rest erklärt sich eigentlich von selbst. Gruß oki edit: Schreibfehler beseitigt |
Re: Panel wird nicht richtig gezeichnet
Thx, Oki. Bei dem Umfang, den das Ganze jetzt hat, wäre tatsächlich eine Komponente in Betracht zu ziehen. Muss mal gucken. Allerdings wird das wenn schon dann von TPanel abgeleitet.
|
Re: Panel wird nicht richtig gezeichnet
Hi Hansa,
Zitat:
Ich leite immer gerne von den Vorfahren ab, dann kann ich entscheiden welche Eigenschaften published sind. Gruß oki |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz