Hej! Pröva lite, om du kollar på båda talen i calc.exe efter att du växlat till binärt läge så ser du att det är de två första bitarna som ändras... Testa med några andra värden på de första bitarna Kanske ett For Each kommando. Kanske skulle ha skrivit att det inte bara var mina egna forms som skulle maximeras, utan alla andra också. Så då fungerar For Each inte. Btw så ska det nog inte vara "in Me" utan "In Forms".Maximera alla fönster
Har den här koden för att minimera alla fönster:
<code>
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_COMMAND = &H111
Private Const MIN_ALL = 419
Private Const MIN_ALL_UNDO = 416
Public Sub MinimizeAllWindows(Optional Restore As Boolean)
On Error Resume Next
Dim hWnd As Long
hWnd = FindWindow("Shell_TrayWnd", vbNullString)
If Restore Then
SendMessage hWnd, WM_COMMAND, MIN_ALL_UNDO, ByVal 0&
Else
SendMessage hWnd, WM_COMMAND, MIN_ALL, ByVal 0&
End If
End Sub
</code>
Finns det något liknande för att maximera alla fönster? Det är väll bara konstanterna som ska behövas men jag kan inte hitta dom.
/MickeSv: Maximera alla fönster
Sv: Maximera alla fönster
Dim Window As Form
For Each Window In Me
If TypeOf Window Is Form Then Window.WindowState = 2
Next
Jag skriver detta utan att ha provat.
Jag brukar använda en liknande For Each när jag skall
enabla/visible en himla massa kontroller på samma gång.
(Varför skriva enn massa kod i onödan.)
/WSv: Maximera alla fönster
Men tack för att du försökte!
/Micke