AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi OnMouseEnter/-Over/-Leave für beliebige Komponente?
Thema durchsuchen
Ansicht
Themen-Optionen

OnMouseEnter/-Over/-Leave für beliebige Komponente?

Ein Thema von MCXSC · begonnen am 22. Sep 2008 · letzter Beitrag vom 26. Sep 2008
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#11

Re: OnMouseEnter/-Over/-Leave für beliebige Komponente?

  Alt 24. Sep 2008, 20:48
Du kannst ja während des Veränderns des VST durch/über eine Variable ein weiteres "Verändern" blocken.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
MCXSC
(Gast)

n/a Beiträge
 
#12

Re: OnMouseEnter/-Over/-Leave für beliebige Komponente?

  Alt 24. Sep 2008, 21:01
Hm und wie z.B.? Ich hab schon versucht, in dad "VST_Minimize" eine Bedingung einzubauen (z.B. if width = 400), aber auch das klappt nicht...
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#13

Re: OnMouseEnter/-Over/-Leave für beliebige Komponente?

  Alt 24. Sep 2008, 21:10
Weiß auch nicht genau. Vielleicht in der Case-Anweisung:
Delphi-Quellcode:
if not MouseMsgOnWork then //Feld der Klasse
begin
  MouseMsgOnWork:=true;
  try
    case msg.msg of
    ...
    end;
  finally
    MouseMsgOnWork:=false;
  end;
end;
vielleicht kommen zu viele Messages hintereinander. Aber ich vermute grad fast, dass dies das Problem nicht löst.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
MCXSC
(Gast)

n/a Beiträge
 
#14

Re: OnMouseEnter/-Over/-Leave für beliebige Komponente?

  Alt 24. Sep 2008, 21:17
Zitat von sirius:
Aber ich vermute grad fast, dass dies das Problem nicht löst.
Richtig.
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#15

Re: OnMouseEnter/-Over/-Leave für beliebige Komponente?

  Alt 25. Sep 2008, 10:22
Dann würde mir noch einfallen, einen Timer zu benutzen (ist nicht so schön, verhindert aber gleich generell ein Flackern) Damit schaffst du dir eine Art zeitliche Hysterese.

Delphi-Quellcode:
type ...
     ...
     Timer:TTimer;
  private
    ...
    MsgMouseOnWork:Boolean; //mit false initialisieren
    ...
    procedure VST_Expand;
    procedure VST_Minimize;
    procedure VST_StartTimer;
  public
    { Public-Deklarationen } 
  end;

...

procedure TForm2.VST_StartTimer;
begin
  MsgMouseOnWork:=true;
  Timer.enabled:=true;
end;

procedure TForm2.TimeronTimer(...); //Timerereignis
begin
  MsgMouseOnWork:=false;
  Timer.enabled:=false;
end;
procedure TForm2.VST_Expand;
begin
  if not MsgMouseOnWork then
  begin
    VST.Align := alNone;
    VST.Width := 400;
    VST.Height := Panel2.Height -10;
    ---> VST.Parent := Form2; <---
    VST_startTimer;
  end;
end;

procedure TForm2.VST_Minimize;
begin
  if not MsgMouseOnWork then
  begin
    ---> VST.Parent := Panel2; <---
    VST.Align := alClient;
    VST_starttimer;
  end;
end;
Edit: Ahh, das ist auch noch nicht vollständig. Du musst dir trotzdem bei jeder MEssage merken, welcher Zustand gerade aktuell ist, und den dann im Timer-Ereignis schließlich einstellen.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
MCXSC
(Gast)

n/a Beiträge
 
#16

Re: OnMouseEnter/-Over/-Leave für beliebige Komponente?

  Alt 26. Sep 2008, 04:21
Ja, so habe ich es ja bisher auch... Aber die Sache mit einem direkten MouseOver wäre ja etwas sauberer^^
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#17

Re: OnMouseEnter/-Over/-Leave für beliebige Komponente?

  Alt 26. Sep 2008, 10:22
Für mich ist halt grad schwer das Problem zu entdecken, weil es ja in D7 funktioniert.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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:33 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