Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
How to add Minimize and Maximize/Restore Down buttons to a user form?
|
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Stephen Bullen's site:
http://www.oaltd.co.uk/MVP/Default.htm download FormFun.zip uncompress it. Run/look at the code. Use the class module. -- Regards, Tom Ogilvy "Scott" wrote: How to add Minimize and Maximize/Restore Down buttons to a user form? |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Tom,
Thanks very much. The FormFun is very interesting. But the codes are too complicated for me to adopt. I just want to have the bottons on the form once the form is initialized. Anyway, I apprecite your help. Scott "Tom Ogilvy" wrote: Stephen Bullen's site: http://www.oaltd.co.uk/MVP/Default.htm download FormFun.zip uncompress it. Run/look at the code. Use the class module. -- Regards, Tom Ogilvy "Scott" wrote: How to add Minimize and Maximize/Restore Down buttons to a user form? |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
This is simplest code to add those buttons:
Option Explicit Public Declare Function GetWindowLong _ Lib "user32" Alias _ "GetWindowLongA" (ByVal hwnd As Long, _ ByVal nIndex As Long) As Long Private Declare Function FindWindow _ Lib "user32" Alias "FindWindowA" _ (ByVal lpClassName As String, _ ByVal lpWindowName As String) As Long Private Declare Function SetWindowLong _ Lib "user32" Alias _ "SetWindowLongA" (ByVal hwnd As Long, _ ByVal nIndex As Long, _ ByVal dwNewLong As Long) As Long Private Declare Function DrawMenuBar Lib "user32" _ (ByVal hwnd As Long) As Long Private Declare Function ShowWindow _ Lib "user32" (ByVal hwnd As Long, _ ByVal nCmdShow As Long) As Long Private Declare Function IsIconic Lib "user32" (ByVal hwnd As Long) As Long Private Const WS_MAXIMIZEBOX As Long = &H10000 Private Const WS_MINIMIZEBOX As Long = &H20000 Private Const GWL_STYLE As Long = (-16) Private strFormType As String Sub AddMinMax(strFormCaption As String) Dim hwnd As Long Dim lngStyle As Long 'this is not really necessary, vbNullString will do If Val(Application.Version) = 9 Then strFormType = "ThunderDFrame" Else strFormType = "ThunderXFrame" End If hwnd = FindWindow(strFormType, strFormCaption) lngStyle = GetWindowLong(hwnd, GWL_STYLE) lngStyle = lngStyle Or WS_MAXIMIZEBOX lngStyle = lngStyle Or WS_MINIMIZEBOX SetWindowLong hwnd, GWL_STYLE, lngStyle DrawMenuBar hwnd End Sub Sub LoadForm() Load UserForm1 UserForm1.Show 0 AddMinMax "Userform1" End Sub RBS "Scott" wrote in message ... Tom, Thanks very much. The FormFun is very interesting. But the codes are too complicated for me to adopt. I just want to have the bottons on the form once the form is initialized. Anyway, I apprecite your help. Scott "Tom Ogilvy" wrote: Stephen Bullen's site: http://www.oaltd.co.uk/MVP/Default.htm download FormFun.zip uncompress it. Run/look at the code. Use the class module. -- Regards, Tom Ogilvy "Scott" wrote: How to add Minimize and Maximize/Restore Down buttons to a user form? |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thanks for the help.
I copied your codes to my file, but I still did not get the buttons on my UserForm1. "RB Smissaert" wrote: This is simplest code to add those buttons: Option Explicit Public Declare Function GetWindowLong _ Lib "user32" Alias _ "GetWindowLongA" (ByVal hwnd As Long, _ ByVal nIndex As Long) As Long Private Declare Function FindWindow _ Lib "user32" Alias "FindWindowA" _ (ByVal lpClassName As String, _ ByVal lpWindowName As String) As Long Private Declare Function SetWindowLong _ Lib "user32" Alias _ "SetWindowLongA" (ByVal hwnd As Long, _ ByVal nIndex As Long, _ ByVal dwNewLong As Long) As Long Private Declare Function DrawMenuBar Lib "user32" _ (ByVal hwnd As Long) As Long Private Declare Function ShowWindow _ Lib "user32" (ByVal hwnd As Long, _ ByVal nCmdShow As Long) As Long Private Declare Function IsIconic Lib "user32" (ByVal hwnd As Long) As Long Private Const WS_MAXIMIZEBOX As Long = &H10000 Private Const WS_MINIMIZEBOX As Long = &H20000 Private Const GWL_STYLE As Long = (-16) Private strFormType As String Sub AddMinMax(strFormCaption As String) Dim hwnd As Long Dim lngStyle As Long 'this is not really necessary, vbNullString will do If Val(Application.Version) = 9 Then strFormType = "ThunderDFrame" Else strFormType = "ThunderXFrame" End If hwnd = FindWindow(strFormType, strFormCaption) lngStyle = GetWindowLong(hwnd, GWL_STYLE) lngStyle = lngStyle Or WS_MAXIMIZEBOX lngStyle = lngStyle Or WS_MINIMIZEBOX SetWindowLong hwnd, GWL_STYLE, lngStyle DrawMenuBar hwnd End Sub Sub LoadForm() Load UserForm1 UserForm1.Show 0 AddMinMax "Userform1" End Sub RBS "Scott" wrote in message ... Tom, Thanks very much. The FormFun is very interesting. But the codes are too complicated for me to adopt. I just want to have the bottons on the form once the form is initialized. Anyway, I apprecite your help. Scott "Tom Ogilvy" wrote: Stephen Bullen's site: http://www.oaltd.co.uk/MVP/Default.htm download FormFun.zip uncompress it. Run/look at the code. Use the class module. -- Regards, Tom Ogilvy "Scott" wrote: How to add Minimize and Maximize/Restore Down buttons to a user form? |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
If you can show the relevant code I might be able to tell you where you went
wrong. RBS "Scott" wrote in message ... Thanks for the help. I copied your codes to my file, but I still did not get the buttons on my UserForm1. "RB Smissaert" wrote: This is simplest code to add those buttons: Option Explicit Public Declare Function GetWindowLong _ Lib "user32" Alias _ "GetWindowLongA" (ByVal hwnd As Long, _ ByVal nIndex As Long) As Long Private Declare Function FindWindow _ Lib "user32" Alias "FindWindowA" _ (ByVal lpClassName As String, _ ByVal lpWindowName As String) As Long Private Declare Function SetWindowLong _ Lib "user32" Alias _ "SetWindowLongA" (ByVal hwnd As Long, _ ByVal nIndex As Long, _ ByVal dwNewLong As Long) As Long Private Declare Function DrawMenuBar Lib "user32" _ (ByVal hwnd As Long) As Long Private Declare Function ShowWindow _ Lib "user32" (ByVal hwnd As Long, _ ByVal nCmdShow As Long) As Long Private Declare Function IsIconic Lib "user32" (ByVal hwnd As Long) As Long Private Const WS_MAXIMIZEBOX As Long = &H10000 Private Const WS_MINIMIZEBOX As Long = &H20000 Private Const GWL_STYLE As Long = (-16) Private strFormType As String Sub AddMinMax(strFormCaption As String) Dim hwnd As Long Dim lngStyle As Long 'this is not really necessary, vbNullString will do If Val(Application.Version) = 9 Then strFormType = "ThunderDFrame" Else strFormType = "ThunderXFrame" End If hwnd = FindWindow(strFormType, strFormCaption) lngStyle = GetWindowLong(hwnd, GWL_STYLE) lngStyle = lngStyle Or WS_MAXIMIZEBOX lngStyle = lngStyle Or WS_MINIMIZEBOX SetWindowLong hwnd, GWL_STYLE, lngStyle DrawMenuBar hwnd End Sub Sub LoadForm() Load UserForm1 UserForm1.Show 0 AddMinMax "Userform1" End Sub RBS "Scott" wrote in message ... Tom, Thanks very much. The FormFun is very interesting. But the codes are too complicated for me to adopt. I just want to have the bottons on the form once the form is initialized. Anyway, I apprecite your help. Scott "Tom Ogilvy" wrote: Stephen Bullen's site: http://www.oaltd.co.uk/MVP/Default.htm download FormFun.zip uncompress it. Run/look at the code. Use the class module. -- Regards, Tom Ogilvy "Scott" wrote: How to add Minimize and Maximize/Restore Down buttons to a user form? |
#7
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Did you do:
UserForm1.Show 0 So did you load the form as a modeless form? A modeless form means you can do things outside the form (like doing things in the sheet) while the form is loaded. It doesn't work with a normal modal form, not sure now if it can. RBS "Scott" wrote in message ... Thanks for the help. I copied your codes to my file, but I still did not get the buttons on my UserForm1. "RB Smissaert" wrote: This is simplest code to add those buttons: Option Explicit Public Declare Function GetWindowLong _ Lib "user32" Alias _ "GetWindowLongA" (ByVal hwnd As Long, _ ByVal nIndex As Long) As Long Private Declare Function FindWindow _ Lib "user32" Alias "FindWindowA" _ (ByVal lpClassName As String, _ ByVal lpWindowName As String) As Long Private Declare Function SetWindowLong _ Lib "user32" Alias _ "SetWindowLongA" (ByVal hwnd As Long, _ ByVal nIndex As Long, _ ByVal dwNewLong As Long) As Long Private Declare Function DrawMenuBar Lib "user32" _ (ByVal hwnd As Long) As Long Private Declare Function ShowWindow _ Lib "user32" (ByVal hwnd As Long, _ ByVal nCmdShow As Long) As Long Private Declare Function IsIconic Lib "user32" (ByVal hwnd As Long) As Long Private Const WS_MAXIMIZEBOX As Long = &H10000 Private Const WS_MINIMIZEBOX As Long = &H20000 Private Const GWL_STYLE As Long = (-16) Private strFormType As String Sub AddMinMax(strFormCaption As String) Dim hwnd As Long Dim lngStyle As Long 'this is not really necessary, vbNullString will do If Val(Application.Version) = 9 Then strFormType = "ThunderDFrame" Else strFormType = "ThunderXFrame" End If hwnd = FindWindow(strFormType, strFormCaption) lngStyle = GetWindowLong(hwnd, GWL_STYLE) lngStyle = lngStyle Or WS_MAXIMIZEBOX lngStyle = lngStyle Or WS_MINIMIZEBOX SetWindowLong hwnd, GWL_STYLE, lngStyle DrawMenuBar hwnd End Sub Sub LoadForm() Load UserForm1 UserForm1.Show 0 AddMinMax "Userform1" End Sub RBS "Scott" wrote in message ... Tom, Thanks very much. The FormFun is very interesting. But the codes are too complicated for me to adopt. I just want to have the bottons on the form once the form is initialized. Anyway, I apprecite your help. Scott "Tom Ogilvy" wrote: Stephen Bullen's site: http://www.oaltd.co.uk/MVP/Default.htm download FormFun.zip uncompress it. Run/look at the code. Use the class module. -- Regards, Tom Ogilvy "Scott" wrote: How to add Minimize and Maximize/Restore Down buttons to a user form? |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
minimize and maximize buttons missing | Excel Discussion (Misc queries) | |||
how do i minimize/maximize a workbook from vba? I want to minimize it durring processing to speed things up a bit | Excel Worksheet Functions | |||
Minimize and maximize buttons userforms | Excel Programming | |||
Maximize & Minimize buttons where are they? | Excel Programming | |||
How to get Maximize and Minimize buttons on Userform | Excel Programming |