Window fixieren

Anfängerfragen zum Programmieren mit PureBasic.
Martin66119
Beiträge: 282
Registriert: 03.01.2005 11:36

Window fixieren

Beitrag 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!
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

Beitrag 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.
my pb stuff..
Bild..jedenfalls war das mal so.
Antworten