ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Border style of Excel forms (https://www.excelbanter.com/excel-programming/296665-border-style-excel-forms.html)

Shu

Border style of Excel forms
 
Hello,
Why the form in Excel can not be set with some maximize or
minimize icon on the top ritht of form. Only two options
are provided in Excel VBE. One is 0-frmborderStylenone,
the other is 1-frmborderstylesingle. But There are more
choices in VB.

Is there any way to set up them?

Thanks very much.

Rgds
Shu

Michel Pierron[_2_]

Border style of Excel forms
 
Hi Shu;
Private Declare Function FindWindow& Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName$, ByVal lpWindowName$)
Private Declare Function SetWindowLong& Lib "user32" Alias _
"SetWindowLongA" (ByVal hWnd&, ByVal nIndex&, ByVal dwNewLong&)
Private Declare Function EnableWindow& Lib "user32" (ByVal hWnd&, ByVal fEnable&)
Private Declare Function ShowWindow& Lib "user32" (ByVal hWnd&, ByVal nCmdShow&)

' Minimize in application
Private Sub UserForm_Initialize()
Dim Style As Long
' Min: &H20000 / Max: &H10000 / Resize: &H40000
Style = &H84C80080 Or &H20000 Or &H40000
SetWindowLong FindWindow(vbNullString, Me.Caption), -16, Style
EnableWindow FindWindow(vbNullString, Application.Caption), 1
End Sub

To reduce the userform in the Taskbar, add the procedu
' Minimize in TaskBar
Private Sub UserForm_Activate()
Dim hWnd As Long
hWnd = FindWindow(vbNullString, Me.Caption)
ShowWindow hWnd, 0
SetWindowLong hWnd, -20, &H40101
ShowWindow hWnd, 1
End Sub

Regards
MP

"Shu" a écrit dans le message de
...
Hello,
Why the form in Excel can not be set with some maximize or
minimize icon on the top ritht of form. Only two options
are provided in Excel VBE. One is 0-frmborderStylenone,
the other is 1-frmborderstylesingle. But There are more
choices in VB.

Is there any way to set up them?

Thanks very much.

Rgds
Shu




Michel Pierron[_2_]

Border style of Excel forms
 
Hi Shu;
In complement of my post, you can use the following procedure to display the
userform in no modal mode:

Sub NoModalMode()
#If VBA6 Then
UserForm1.Show 0
#Else
UserForm1.Show
#End If
End Sub

MP

"Shu" a écrit dans le message de
...
Hello,
Why the form in Excel can not be set with some maximize or
minimize icon on the top ritht of form. Only two options
are provided in Excel VBE. One is 0-frmborderStylenone,
the other is 1-frmborderstylesingle. But There are more
choices in VB.

Is there any way to set up them?

Thanks very much.

Rgds
Shu




Shu

Border style of Excel forms
 
Thanks a lot, Michel.

Shu
-----Original Message-----
Hi Shu;
Private Declare Function FindWindow& Lib "user32"

Alias "FindWindowA" _
(ByVal lpClassName$, ByVal lpWindowName$)
Private Declare Function SetWindowLong& Lib "user32"

Alias _
"SetWindowLongA" (ByVal hWnd&, ByVal nIndex&, ByVal

dwNewLong&)
Private Declare Function EnableWindow& Lib "user32"

(ByVal hWnd&, ByVal fEnable&)
Private Declare Function ShowWindow& Lib "user32" (ByVal

hWnd&, ByVal nCmdShow&)

' Minimize in application
Private Sub UserForm_Initialize()
Dim Style As Long
' Min: &H20000 / Max: &H10000 / Resize: &H40000
Style = &H84C80080 Or &H20000 Or &H40000
SetWindowLong FindWindow(vbNullString, Me.Caption), -

16, Style
EnableWindow FindWindow(vbNullString,

Application.Caption), 1
End Sub

To reduce the userform in the Taskbar, add the procedu
' Minimize in TaskBar
Private Sub UserForm_Activate()
Dim hWnd As Long
hWnd = FindWindow(vbNullString, Me.Caption)
ShowWindow hWnd, 0
SetWindowLong hWnd, -20, &H40101
ShowWindow hWnd, 1
End Sub

Regards
MP

"Shu" a écrit dans

le message de
...
Hello,
Why the form in Excel can not be set with some maximize

or
minimize icon on the top ritht of form. Only two options
are provided in Excel VBE. One is 0-frmborderStylenone,
the other is 1-frmborderstylesingle. But There are more
choices in VB.

Is there any way to set up them?

Thanks very much.

Rgds
Shu



.



All times are GMT +1. The time now is 05:01 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com