AGB  ·  Datenschutz  ·  Impressum  







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

Button besonderes markieren

Ein Thema von Delphiturbo · begonnen am 31. Mai 2008 · letzter Beitrag vom 1. Jun 2008
Antwort Antwort
Seite 2 von 3     12 3      
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#11

Re: Button besonderes markieren

  Alt 31. Mai 2008, 21:42
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 ...)
Ralph
  Mit Zitat antworten Zitat
Delphiturbo
(Gast)

n/a Beiträge
 
#12

Re: Button besonderes markieren

  Alt 31. Mai 2008, 21:55
ich möchte das Button markieren, wenn der Inhalt in Edit1 sich ändert
und nicht beim MouseMove:
Delphi-Quellcode:
procedure TForm1.Edit1Change(Sender: TObject);
begin
Highlight(Btn);
end;
Ich kan eine andere Farbe nehmen ok, aber wo soll der Code liegen, damit die alte Markierung und nicht die neue gelöscht wird?
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#13

Re: Button besonderes markieren

  Alt 31. Mai 2008, 22:02
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.
Ralph
  Mit Zitat antworten Zitat
Mikender
(Gast)

n/a Beiträge
 
#14

Re: Button besonderes markieren

  Alt 31. Mai 2008, 22:05
Mach zuerst Highlight mit der Hintergrundfarbe und dann Highlight mit der neuen Farbe (Ergänze die Procedure doch noch um ein Parameter )
  Mit Zitat antworten Zitat
Delphiturbo
(Gast)

n/a Beiträge
 
#15

Re: Button besonderes markieren

  Alt 31. Mai 2008, 22:13
Ich habe eine andere Funktion mit einer anderen farbe

Delphi-Quellcode:
procedure TForm1.Edit1Change(Sender: TObject);
begin
Highlight(Btn);
if not Assigned(btn) then
Highlight2(Btn); //mit einer anderen farben (HG-Farbe)
end;
aber ohne Erfolg
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#16

Re: Button besonderes markieren

  Alt 31. Mai 2008, 22:17
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.
Ralph
  Mit Zitat antworten Zitat
Delphiturbo
(Gast)

n/a Beiträge
 
#17

Re: Button besonderes markieren

  Alt 31. Mai 2008, 22:54
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;
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#18

Re: Button besonderes markieren

  Alt 31. Mai 2008, 23:09
HI,

1. hast du die richtige Farbei bei Hintergrund2 (welche eigentlich? - clBtnFace?)
2. Wird Btn aktualisiert?? (oder bleibts beim alten button?)

rollstuhlfahrer
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
Delphiturbo
(Gast)

n/a Beiträge
 
#19

Re: Button besonderes markieren

  Alt 31. Mai 2008, 23:16
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;
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#20

Re: Button besonderes markieren

  Alt 1. Jun 2008, 00:35
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:
 if PtInRect(GetRect(Control, ABorder), ScreenToClient(Mouse.CursorPos)) then
        Canvas.Brush.Color :=clblue // egal welche farbe !
      
  else
'raus. Dann sollte es funktionieren
Ralph
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 06:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz