![]() |
Re: Button besonderes markieren
Moin,Moin,
wenn du das Beispiel von FAlter verwendest: Das gleiche noch mal, nur nicht mit clRed, sondern mit der Farbe des Hintergrunds (Color vom Form, Panel ...) |
Re: Button besonderes markieren
ich möchte das Button markieren, wenn der Inhalt in Edit1 sich ändert
und nicht beim MouseMove:
Delphi-Quellcode:
Ich kan eine andere Farbe nehmen ok, aber wo soll der Code liegen, damit die alte Markierung und nicht die neue gelöscht wird?
procedure TForm1.Edit1Change(Sender: TObject);
begin Highlight(Btn); end; |
Re: Button besonderes markieren
Eine etwas hirnlose, aber praktikable Lösung wäre, im OnChange des Edits zuerst alle in Frage kommenden Buttons mit der original Hintergrundfarbe zu übermalen und danach die Farbe für den betreffenden Button zu malen.
|
Re: Button besonderes markieren
Mach zuerst Highlight mit der Hintergrundfarbe und dann Highlight mit der neuen Farbe (Ergänze die Procedure doch noch um ein Parameter :lol: )
|
Re: Button besonderes markieren
Ich habe eine andere Funktion mit einer anderen farbe
Delphi-Quellcode:
aber ohne Erfolg
procedure TForm1.Edit1Change(Sender: TObject);
begin Highlight(Btn); if not Assigned(btn) then Highlight2(Btn); //mit einer anderen farben (HG-Farbe) end; |
Re: Button besonderes markieren
Ohne das ganze wirklich nachvollziehen zu können: Du malst zuerst in rot, dann den gleichen (?!) Button noch mal in Hintergrundfarbe? Mach's doch mal, wie ich es vorgeschlagen habe. Das funktioniert auf jeden Fall.
|
Re: Button besonderes markieren
Das habe ich schon gemacht aber die Buttons werden nicht mit der Highlight2-Farbe gefärbt !
Delphi-Quellcode:
procedure TForm1.Edit1Change(Sender: TObject);
begin Highlight2(BitBtn1); Highlight2(BitBtn2); Highlight2(BitBtn3); Highlight(Btn); end; |
Re: Button besonderes markieren
HI,
1. hast du die richtige Farbei bei Hintergrund2 (welche eigentlich? - clBtnFace?) 2. Wird Btn aktualisiert?? (oder bleibts beim alten button?) rollstuhlfahrer |
Re: Button besonderes markieren
Es funktioniert und die alte Markierung wird auch gelöscht
Das Problem die Farbe in Highlight2 spielt keine Rolle die Farbe in Highlight2 ist nicht meine Form-HG-Farbe totzdem wird nicht angezeigt !
Delphi-Quellcode:
procedure TForm1.Highlight(Control: TWinControl);
var Btn: TControl; begin Btn := TControl(FindComponent('BitBtn' + Edit1.Text)); if Btn is TControl then begin with canvas do begin Brush.Style := bsClear; with Pen do begin Width := 2; Color := clRed; end; Rectangle(Btn.Left-2, Btn.Top-2, Btn.Left + Btn.Width + 2, Btn.Top + Btn.Height + 2); end; end; end; procedure TForm1.Highlight2(Control: TWinControl); begin if PtInRect(GetRect(Control, ABorder), ScreenToClient(Mouse.CursorPos)) then Canvas.Brush.Color :=clblue // egal welche farbe ! else Canvas.Brush.Color := clBtnFace; Canvas.FillRect(GetRect(Control, ABorder)); end; procedure TForm1.Edit1Change(Sender: TObject); begin Highlight2(BitBtn1); Highlight2(BitBtn2); Highlight2(BitBtn3); Highlight(Btn); end; |
Re: Button besonderes markieren
Wozu dient denn die MousePosition in Highlight2() ???? Du willst doch ein ganz bestimmtes Control, dass du als Parameter übergibst, behandeln! Lösche einfach den Quark ..
Delphi-Quellcode:
'raus. Dann sollte es funktionieren :thumb:
if PtInRect(GetRect(Control, ABorder), ScreenToClient(Mouse.CursorPos)) then
Canvas.Brush.Color :=clblue // egal welche farbe ! else |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:33 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