AGB  ·  Datenschutz  ·  Impressum  







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

Panel color ändern beim Verlassen vom Panel

Ein Thema von Tau · begonnen am 22. Mär 2005 · letzter Beitrag vom 22. Mär 2005
Antwort Antwort
Tau

Registriert seit: 17. Mär 2003
Ort: Bludenz
221 Beiträge
 
Delphi 7 Enterprise
 
#1

Panel color ändern beim Verlassen vom Panel

  Alt 22. Mär 2005, 02:13
Hallo zusammen

ich möcht ein Panel mit einer anderen Farbe befüllen
wenn der Mauszeiger sich über dem Panel befindet.

Code:
procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
  case TComponent(Sender).Tag of
    10: begin
          Panel1.Color := clAqua;
        end;
    20: begin
          Panel2.Color := clAqua;
        end;
    30: begin
          Panel3.Color := clAqua;
        end;
    end;
end;
habe aber Schwierigkeiten wenn der Mauszeiger nicht mehr
über dem Panel ist die Farbe wieder umzustellen z.B. auf clBtnFace.

Kann mir vielleicht jemand einen Tipp geben wie ich feststellen
kann das der Mauszeiger nicht mehr über dem Panel ist.

Schöne Grüsse
Tau

PS. Ich hoffe ich habe mich verständlich ausgedrückt.
http://www.quad-offroad.com
wer kämpft kann verlieren aber wer nicht kämpft hat verloren
( Delphi 7 )
  Mit Zitat antworten Zitat
Benutzerbild von GimbaR
GimbaR

Registriert seit: 17. Apr 2004
Ort: Weltmetropole Rostock ;)
134 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Panel color ändern beim Verlassen vom Panel

  Alt 22. Mär 2005, 02:33
Wenn ich das jetzt richtig verstanden habe, gibts für mich da zwei lösungen:
1.) du setzt die anderen bei der Mausbewegung alle Panel.Color auf btnFace und änderst dann die Frabe

oder

2.) du nimmst die Brechstange und guckst alle 1000 msecs wo sich der mauszeiger befindet und änderst dem entsprechend die farbe...

der quelltext für variante 1.) würde imho ungefähr so aussehen:
Delphi-Quellcode:
procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var
  i: Integer;
begin
  //--->Einafch bei allen Panels Color auf BtnFace setzten
  for i:= 0 to 3 do //können auch mehrere sein ;)
    (Form1.FindComponent('Panel' + IntToStr(i)) as TPanel).Color:= BtnFace;
  //--->/Fertisch^^
  case TComponent(Sender).Tag of
    10: begin
          Panel1.Color := clAqua;
        end;
    20: begin
          Panel2.Color := clAqua;
        end;
    30: begin
          Panel3.Color := clAqua;
        end;
    end;
end;
Jonas
Bei dem Tempo ist es nur noch eine Frage der Zeit bis SSchäuble verlangt allen deutschen Bürgern ein Halsband zur ständigen Überwachung zu verpassen...
  Mit Zitat antworten Zitat
Benutzerbild von Pr0g
Pr0g

Registriert seit: 21. Mai 2004
809 Beiträge
 
Delphi 7 Personal
 
#3

Re: Panel color ändern beim Verlassen vom Panel

  Alt 22. Mär 2005, 02:36
Du könntest auch das "OnMouseMove" des Parents nutzen, bspw. der Form, denn wenn man den Mauszeiger von Panel runternimmt kommt er ja auf die Fläche darunter (ausgenommen, die Panels liegen alle nebeneinander und das Parent ist nciht sichtbar).

MfG Pr0g
  Mit Zitat antworten Zitat
Tau

Registriert seit: 17. Mär 2003
Ort: Bludenz
221 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Panel color ändern beim Verlassen vom Panel

  Alt 22. Mär 2005, 03:12
Hallo GimbaR / Pr0g

Code:
//--->Einfach bei allen Panels Color auf clBtnFace setzten
for i:= 0 to 3 do //können auch mehrere sein ;)
  (Form1.FindComponent('Panel' + IntToStr(i)) as TPanel).Color:= clBtnFace;
//--->/Fertisch^^
habe es versucht aber leider bekomme ich eine Exception ( Zugriffsverletzung bei Adresse 00000070 )

PrOg

wenn ich einen zu geringen abstand zwischen den Panel
habe oder ich fahre mit der Maus etwas schnelle über
die Panel dann klappt es leider nicht. Einige Panel bleiben Färbig.


gibt es noch andere Vorschläge

Schöne Grüße,
Tau
http://www.quad-offroad.com
wer kämpft kann verlieren aber wer nicht kämpft hat verloren
( Delphi 7 )
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Panel color ändern beim Verlassen vom Panel

  Alt 22. Mär 2005, 06:59
Zitat von Tau:
Hallo zusammen

ich möcht ein Panel mit einer anderen Farbe befüllen
wenn der Mauszeiger sich über dem Panel befindet.....
Hai Tau,

Christian Seehase hat in diesem Beitrag genau das was Du machen möchtest gezeigt.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Tau

Registriert seit: 17. Mär 2003
Ort: Bludenz
221 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Panel color ändern beim Verlassen vom Panel

  Alt 22. Mär 2005, 12:16
Hallo Sharky

währst du eine Frau dann würde ich dich Küssen.

aber trotzdem Danke

ist genau das was ich gesucht habe.


schöne Grüße,
Tau

http://www.quad-offroad.com
wer kämpft kann verlieren aber wer nicht kämpft hat verloren
( Delphi 7 )
  Mit Zitat antworten Zitat
Benutzerbild von sniper_w
sniper_w

Registriert seit: 12. Dez 2004
Ort: Wien, Österriech
893 Beiträge
 
Delphi 6 Enterprise
 
#7

Re: Panel color ändern beim Verlassen vom Panel

  Alt 22. Mär 2005, 12:36
Bei JvPanel (JEDI) gibt es eine Eigenschaft "HotTrack : Boolean".
Katura Haris
Es (ein gutes Wort) ist wie ein guter Baum, dessen Wurzel fest ist und dessen Zweige in den Himmel reichen.
  Mit Zitat antworten Zitat
Antwort Antwort


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 03:22 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