Seite 1 von 1

Window fixieren

Verfasst: 15.11.2006 10:18
von Martin66119
Guten Morgen an alle!

Mit folgendem Code möchte ich abhängig vom Wert MausX2 eine Procedure ausführen wenn ich über #Window_1 die Linke Maustaste drücke. Das klappt auch soweit. Nur wenn ich nun jedoch auf ein ButtonGadget klicke welches im #Window_1 an der Position > 100 positioniert ist, startet die Procedure auch. Der Grund ist, dass EventlParam() nun die Postion der Maus über dem ButtonGadget zurückgibt und die Position < 100 ist.

Was muss ich oder kann ich tun um das zu ändern

Code: Alles auswählen

..
      Select EventID        
         Case #WM_LBUTTONDOWN
            MausX1 = EventlParam() & $FFFF  
            MausY1 = EventlParam()>>16 
            If MausX1 < xStop                
               Messwertanalyse()  
               StickyWindow(#Window_3,1)
               ZeitDiff$ = FormatDate("%hh:%ii:%ss",(MausX2-MausX1)/Y
               SetGadgetText(#W3_StringGadgetDeltaT, ZeitDiff$) 
               TempDiff.f = (MausY2 - MausY1)/TempProPixel
               SetGadgetText(#W3_StringGadgetDeltaT, StrF(TempDiff,2))  
            EndIf                 
         Case #WM_LBUTTONUP          
            MausX2 = EventlParam() & $FFFF  
            MausY2 = EventlParam()>>16
            If MausX1 < xStop           
              Messwertanalyse()
              StickyWindow(#Window_3,1)
              ZeitDiff$ = FormatDate("%hh:%ii:%ss",(MausX2-MausX1)/y)
              SetGadgetText(#W3_StringGadgetDeltaT, ZeitDiff$) 
              TempDiff.f = (MausY2 - MausY1)/TempProPixel
              SetGadgetText(#W3_StringGadgetDeltaT, StrF(TempDiff,2))  
            EndIf     
         EndSelect

Danke schonmal!

Verfasst: 15.11.2006 11:38
von #NULL
dann nimm doch werte von WindowMouseX(). mußt höchstens noch eingrenzen:

Code: Alles auswählen

If mx>=AreaStartX And mx<AreaStartX+AreaWidth
(z.b.)..oder halt nur die breite wie du es eh schon hattest, wenn die untergrenze sowieso 0, bzw der linke fensterand ist.