(Gast)
n/a Beiträge
|
Re: Selektionsrahmen um Komponente zeichnen?
7. Mär 2009, 15:52
Ich habe die Lösung da oben mal etwas umgeschrieben, ob es für jeden sinnvoll ist weis ich nicht:
Delphi-Quellcode:
{
iPw: PenWidth kann nun bei jedem Control selbst mitgegeben werden.
iSp: Spacing, Abstand vom Control nach links und rechts.
iPd: Padding, Abstand vom Control nach oben und unten.
}
procedure Decorate(hdc: HDC; r: TRect;
penColor: TColor; iPw, iSp, iPd: ShortInt); // Änderung: iPw, iSp, iPd
begin
with TCanvas.Create do
try
Handle := hdc;
Pen.Width := iPw;
Pen.Color := penColor;
InflateRect(r, iSp, iPd);
Brush.Style := bsClear;
Rectangle(r);
finally
Free;
end;
end;
procedure TForm1.Label1MouseEnter(Sender: TObject);
begin
with Sender as TLabel do
Decorate(GetDC( Handle), BoundsRect, clHighlight, 1, 10, 20);
end;
procedure TForm1.Label1MouseLeave(Sender: TObject);
begin
with Sender as TLabel do
Decorate(GetDC( Handle), BoundsRect, self.Color, 1, 10, 20);
end;
|
|
Zitat
|