ich rufe eine Function mit Parametern auf. Der 3th Parameter dwFlags with aus Konstanten (hex) zusammengesetzt (addieren ?)
Nun funktioniert der 1st Aufruf, aber wenn ich dann die dwFlags ändere scheint er es "in seinem Speicher zu addieren".
Ich habe die ja LOCAL definiert und "erstelle" die jedes mal "neu" ...
Code: Alles auswählen
#define AW_HIDE 0x10000
#define AW_ACTIVATE 0x20000
#define AW_SLIDE 0x40000
#define AW_BLEND 0x80000
#define AW_HOR_POSITIVE 0x00000001
#define AW_HOR_NEGATIVE 0x00000002
#define AW_VER_POSITIVE 0x00000004
#define AW_VER_NEGATIVE 0x00000008
#define AW_CENTER 0x00000010
DLLFUNCTION AnimateWindow(hwnd,dwTime,dwFlags) USING STDCALL FROM USER32.DLL
METHOD AnimateDialog:ShowIt(hwnd)
LOCAL nFlag1 := 0
LOCAL nFlag2 := 0
IF(lHIDE1 = .T., nFlag1 += AW_HIDE ,NIL)
IF(lACTIVATE1 = .T., nFlag1 += AW_ACTIVATE ,NIL)
IF(lSLIDE1 = .T., nFlag1 += AW_SLIDE ,NIL)
IF(lBLEND1 = .T., nFlag1 += AW_BLEND ,NIL)
IF(lHOR_POS1 = .T., nFlag1 += AW_HOR_POSITIVE,NIL)
IF(lHOR_NEG1 = .T., nFlag1 += AW_HOR_NEGATIVE,NIL)
IF(lVER_POS1 = .T., nFlag1 += AW_VER_POSITIVE,NIL)
IF(lVER_NEG1 = .T., nFlag1 += AW_VER_NEGATIVE,NIL)
IF(lCENTER1 = .T., nFlag1 += AW_CENTER ,NIL)
IF(lHIDE2 = .T., nFlag2 += AW_HIDE ,NIL)
IF(lACTIVATE2 = .T., nFlag2 += AW_ACTIVATE ,NIL)
IF(lSLIDE2 = .T., nFlag2 += AW_SLIDE ,NIL)
IF(lBLEND2 = .T., nFlag2 += AW_BLEND ,NIL)
IF(lHOR_POS2 = .T., nFlag2 += AW_HOR_POSITIVE,NIL)
IF(lHOR_NEG2 = .T., nFlag2 += AW_HOR_NEGATIVE,NIL)
IF(lVER_POS2 = .T., nFlag2 += AW_VER_POSITIVE,NIL)
IF(lVER_NEG2 = .T., nFlag2 += AW_VER_NEGATIVE,NIL)
IF(lCENTER2 = .T., nFlag2 += AW_CENTER ,NIL)
AnimateWindow(hwnd,0,0)
AnimateWindow(hwnd,::nTime1,nFlag1)
*TONE(1234)
AnimateWindow(hwnd,0,0)
AnimateWindow(hwnd,::nTime2,nFlag2)
RETURN self
wie kann ich nun dwFlags wieder "reset"ten