AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Selektionsrahmen um Komponente zeichnen?

Ein Thema von I.A · begonnen am 6. Mär 2009 · letzter Beitrag vom 8. Mär 2009
 
I.A

Registriert seit: 14. Jan 2007
83 Beiträge
 
#5

Re: Selektionsrahmen um Komponente zeichnen?

  Alt 7. Mär 2009, 12:58
Hallo,


Ich hab das jetzt so hier gelöst:
Delphi-Quellcode:
procedure Decorate(hdc: HDC; r: TRect; penColor: TColor);
const
  PENWIDTH = 2;
begin
  with TCanvas.Create do
  try
    Handle := hdc;
    Pen.Width := PENWIDTH;
    Pen.Color := penColor;
    InflateRect(r, PENWIDTH, PENWIDTH);
    Brush.Style := bsClear;
    Rectangle(r);
  finally
    Free;
  end;
end;

procedure TForm1.Label1MouseEnter(Sender: TObject);
begin
  //Selektionsrahmen zeichnen
 with Sender as TLabel do
    Decorate(GetDC(Handle), BoundsRect, clHighlight);
end;

procedure TForm1.Label1MouseLeave(Sender: TObject);
begin
  //Selektionsrahmen löschen
  {
with Sender as TLabel do
    Decorate(GetDC(Handle), BoundsRect, self.Color);}

end;

procedure TForm1.Label1Click(Sender: TObject);
begin
{
  FShape := TShape.Create(self);
  FShape.Left := Label1.Left - 2;
  FShape.Top  := Label1.Top  - 2;
  FShape.Width := Label1.Width + 2;
  FShape.Height := Label1.Height + 2;
  FShape.Parent := self;



  }

end;
Die letzte Version, die mit TShape verdeckt mir leider meine Labelbeschriftung, womit ja die Komponente verdeckt wäre. Die Prozedut Decotate funktioniert gut.

@Hansa: Schade, ich musste Axel die unschöne Kunde überbringen. Damit hat sich aber auch der Designer erledigt, für den er, nicht ich, den Selektionsrahmen gebraucht hätte. In die Lazarusquellen einzusteigen, das dauert einfach zu lange, um daraus eine Lösung zu extrahieren. Axel wir sich ein neues Projekt überlegen.

Habe mir die Jedis mal angesehen. Da sind auch Formdesigner, Objektinspektor u.a. dabei. Aber wozu braucht man das noch. CodeGear und das Lazarusteam können doch Anwendungsdesigner echt besser programieren, als unsereiner, der sich jetzt in die Jedis erst mal einarbeiten muss.


@_frank_: Ich habe trotzdem mal per GExperts Grep Suche nach TSizeCtrls und TStretchHandle gesucht, aber leider ohne Erfolg. Dann gegoogelt und TStretchHandle gefunden und runtergeladen. Werde mir den Quelletext trotz allem mal ansehen. TSizeCtrls hab ich gar nicht gefunden, da gibt mir auch Google keine Auskunft. Egal, jetzt guck ich mir mal den Quelltext von TStretchHandle an. Irgenwie hat mich der Ehrgeiz gepackt, obwohl wohl andere so einen Anwendungsdesigner besser hinkriegen werden, als ich.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:35 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