Autor Beitrag
todesgilde
Hält's aus hier
Beiträge: 11

Windows Server 2003
Haskel, Delphi 2005 Prof, C#, Java, VS 2003
BeitragVerfasst: Sa 03.06.06 14:27 
Hallo,


ich habe folgendes Problem ich habe zwei Panels oder halt zwei Scrollboxen.
Am Anfang wollte ich einfach, wenn ich mit dem Mauszeiger über ein Bild in der Scrollbox gekommen bin den Focus an die Scrollbox geben, aber dann konnte ich in dann nicht mehr ändern den Focus, also zum Beispiel auf eine andere Scrollbox.
deswegen habe ich mir die Komponente Panel genommen und die um die zwei Event Methoden OnMouseLeave und OnMouseEnter erweitert. Zusätzlich noch eine Boolean Variable VisuellerFocus der halt immer gesetzt wird, wenn die Events eintretten.

So hat alles geklappt.
Jetzt ist das Problem das wenn ich Bilder auf das Panel packen, das ich dann nicht mehr das Event durchkriege, ist mir auch loggisch. Aber ich habe das ganze auch mit der PtInRect Methode probiert, aber die spinnt anscheinend irgendwie.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
Procedure MouseWheel(Var Msg : TCMMouseWheel);message CM_MOUSEWHEEL;
...

Procedure Tf_UI.MouseWheel(Var Msg : TCMMouseWheel);
 Begin
  If Msg.Result = 0 Then
   Begin
    Msg.Result := 1;


     If PtInRect(p_alben.ClientRect,ScreenToClient(SmallPointToPoint(msg.Pos))) Then
      Begin
       //Scroll Methode der Alben Liste aufrufen
       ShowMessage('Scrollen in der Alben Liste')
      End;
     If PtInRect(p_songs.ClientRect,ScreenToClient(SmallPointToPoint(msg.Pos))) Then
      Begin
       //Scroll Methode der Song Liste aufrufen
       ShowMessage('Scrollen in der Song Liste');
      End;
      
   End;

 End;



Wobei hier die p_songs und p_alben zwei Panel sind, mit jeweils noch Bilder drauf.

Wenn ich das jetzt starten kriege ich die erste Message relativ häufig, aber die zweite gar nicht, wobei ich die zweite manchmal bekomme, wenn ich auch die erste bekomme. Kann mir da jemand weiterhelfen?


MfG Constantin

Moderiert von user profile iconraziel: Code- durch Delphi-Tags ersetzt
todesgilde Threadstarter
Hält's aus hier
Beiträge: 11

Windows Server 2003
Haskel, Delphi 2005 Prof, C#, Java, VS 2003
BeitragVerfasst: Mo 12.06.06 20:23 
Kann mir hier keiner helfen?


MfG Constantin Krüger
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: So 25.06.06 08:04 
Versuch mal:
ausblenden Delphi-Quelltext
1:
If PtInRect(p_songs.ClientRect, Mouse.CursorPos) Then					

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)