"SMART-MINIMIZE" abschalten
Sehr lange hat's gedauert, und dann kam doch nicht das heraus, was sich viele Anwender wünschten: Eine Applikation-Beenden-Taste. Es sieht zwar so aus, ist es aber leider nicht: das "Smart-Minimize" von PocketPC 2002. Für Programmierer, die verhindern wollen oder müssen, daß der Anwender die aktuelle Anwendung "ausblendet" und andere "wichtige" Dinge tut, entsteht ein neues Problem: Wie um alles in der Welt wird man Smart-Minimize wieder los??
Deklarationsteil:
|
Public Const GWL_STYLE = (-16) Public Const WS_NONAVDONEBUTTON = &H10000 Public Declare Function GetWindowLong Lib "Coredll" Alias "GetWindowLongW" (ByVal hwnd As Long, ByVal nIndex As Long) As Long Public Declare Function SetWindowLong Lib "Coredll" Alias "SetWindowLongW" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long |
Der unten gezeigte Code ermittelt den aktuellen Fenterstil, addiert das
Stil-Bit WS_NONAVDONEBUTTON hinzu und
setzt den Fensterstil auf den neuen Wert. Dieser Trick sollte in der
Load-Routine des Formulars ausgeführt werden, oder man muß selbst für die
Form-Aktualisierung sorgen. (z.B durch SetWindowPos).
Beispiel:
|
Private Sub Form_Load() Dim lngStyle As Long lngStyle = GetWindowLong(Me.hwnd, GWL_STYLE) lngStyle = lngStyle + WS_NONAVDONEBUTTON SetWindowLong Me.hwnd, GWL_STYLE, lngStyle End Sub |