![]() |
![]() |
|
|||||||
| Excel Questions All Excel/VBA questions - formulas, macros, pivot tables, general help, etc. Please post to this forum in English only. |
![]() |
|
|
Thread Tools | Display Modes |
|
|
#1 |
|
Board Regular
Join Date: Apr 2002
Posts: 83
|
Hello all,
Can I change the background colour where the useform caption goes, preferabbly to transparent even though there is only a pacture behind it although. I also need to remove the 'X' button. The reason for this is that during my code I get the caption to change so the user know where the code is and what it is doing. Many thanks Steve |
|
|
|
|
|
#2 |
|
MrExcel MVP
Join Date: Feb 2002
Location: Sydney, Australia
Posts: 2,908
|
Hi Steve,
You can remove the X by putting this code in the userform's code module:- Code:
Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) 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 Const GWL_STYLE As Long = (-16)
Private Const WS_SYSMENU As Long = &H80000
Private Sub UserForm_Activate()
Dim lFormHandle As Long, lStyle As Long
If Application.Version < "9.0" Then
lFormHandle = FindWindow("ThunderXFrame", Me.Caption)
Else
lFormHandle = FindWindow("ThunderDFrame", Me.Caption)
End If
lStyle = GetWindowLong(lFormHandle, GWL_STYLE)
lStyle = lStyle And Not WS_SYSMENU
SetWindowLong lFormHandle, GWL_STYLE, (lStyle)
DrawMenuBar lFormHandle
End Sub
There is an excellent example of things you can do with userforms and Windows API calls here:- http://www.bmsltd.co.uk/Excel/Default.htm Look for the formfun.zip file. HTH, Dan |
|
|
|
|
|
#3 |
|
Board Regular
Join Date: Apr 2002
Posts: 83
|
Thanks you.
I cannot get your code to work but the website link has helped an enormous amount. Steve |
|
|
|
|
|
#4 | |
|
MrExcel MVP
Join Date: Feb 2002
Location: Auckland, New Zealand
Posts: 4,209
|
Quote:
where does it error out and where have you placed the code ? |
|
|
|
|
|
|
#5 |
|
Board Regular
Join Date: Apr 2002
Posts: 83
|
Many apologies I must have put it in the wrong place. I have just tried it by putting it in the userform declarations and it works fine.
Sorry for getting it wrong!!!!!!!! Steve |
|
|
|
![]() |
| Bookmarks |
| Thread Tools | |
| Display Modes | |
|
|