![]() |
Splash screens from VBA!
I'm really excited beacuse I've just learned how to remove the title bar from
a form in vba - thought I'd better share. You need to use windows API calls so I suppose it's not strictly vba but very exciting nevertheless. It's going to be splash screens a-go-go for my addin's from now on. Simply add the following code to a new form in excel. __________________________________________________ ______________ Private Const GWL_STYLE = (-16) Private Const WS_CAPTION = &HC00000 Private Const WS_MAXIMIZEBOX = &H10000 Private Const WS_MINIMIZEBOX = &H20000 Private Const WS_SYSMENU = &H80000 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 SendMessage Lib "user32" Alias _ "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, _ ByVal wParam As Integer, ByVal lParam As Long) As Long Private Declare Function DrawMenuBar Lib "user32" (ByVal _ hwnd As Long) As Long Private wHandle As Long Private Sub UserForm_Initialize() Dim lStyle As Long If Val(Application.Version) = 9 Then wHandle = FindWindow("ThunderDFrame", Me.Caption) Else wHandle = FindWindow("ThunderXFrame", Me.Caption) End If If wHandle = 0 Then Exit Sub lStyle = GetWindowLong(wHandle, GWL_STYLE) Me.Caption = "" lStyle = lStyle And Not WS_SYSMENU lStyle = lStyle And Not WS_MAXIMIZEBOX lStyle = lStyle And Not WS_MINIMIZEBOX lStyle = lStyle And Not WS_CAPTION SetWindowLong wHandle, -20, frm SetWindowLong wHandle, GWL_STYLE, lStyle DrawMenuBar wHandle End Sub __________________________________________________ ________________ - Rm |
Splash screens from VBA!
Thanks!
"Robert Mulroney" wrote: I'm really excited beacuse I've just learned how to remove the title bar from a form in vba - thought I'd better share. You need to use windows API calls so I suppose it's not strictly vba but very exciting nevertheless. It's going to be splash screens a-go-go for my addin's from now on. Simply add the following code to a new form in excel. __________________________________________________ ______________ Private Const GWL_STYLE = (-16) Private Const WS_CAPTION = &HC00000 Private Const WS_MAXIMIZEBOX = &H10000 Private Const WS_MINIMIZEBOX = &H20000 Private Const WS_SYSMENU = &H80000 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 SendMessage Lib "user32" Alias _ "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, _ ByVal wParam As Integer, ByVal lParam As Long) As Long Private Declare Function DrawMenuBar Lib "user32" (ByVal _ hwnd As Long) As Long Private wHandle As Long Private Sub UserForm_Initialize() Dim lStyle As Long If Val(Application.Version) = 9 Then wHandle = FindWindow("ThunderDFrame", Me.Caption) Else wHandle = FindWindow("ThunderXFrame", Me.Caption) End If If wHandle = 0 Then Exit Sub lStyle = GetWindowLong(wHandle, GWL_STYLE) Me.Caption = "" lStyle = lStyle And Not WS_SYSMENU lStyle = lStyle And Not WS_MAXIMIZEBOX lStyle = lStyle And Not WS_MINIMIZEBOX lStyle = lStyle And Not WS_CAPTION SetWindowLong wHandle, -20, frm SetWindowLong wHandle, GWL_STYLE, lStyle DrawMenuBar wHandle End Sub __________________________________________________ ________________ - Rm |
Splash screens from VBA!
Very Cool!
Thanks Robert, Sean. |
Splash screens from VBA!
Thanks for that Robert.
.... please tell me, what is the usual method for keeping the splash screen loaded for a given time interval, and also perhaps letting the user "skip the intro" and close the splash screen early? Robert, just one more question, hope you don't mind.... You are obviously a man who is keen on good presentation. Have you come across an Exel way to mimic web page button graphics, ie button image graphics change with mouse move (over the image) and then change back again with mouse move away from the button image? -- David |
Splash screens from VBA!
David,
Take a look at http://www.xldynamic.com/source/xld.xlFAQ0007.html -- HTH RP (remove nothere from the email address if mailing direct) "David" wrote in message ... Thanks for that Robert. ... please tell me, what is the usual method for keeping the splash screen loaded for a given time interval, and also perhaps letting the user "skip the intro" and close the splash screen early? Robert, just one more question, hope you don't mind.... You are obviously a man who is keen on good presentation. Have you come across an Exel way to mimic web page button graphics, ie button image graphics change with mouse move (over the image) and then change back again with mouse move away from the button image? -- David |
Splash screens from VBA!
Thanks Bob
-- David |
Splash screens from VBA!
Hello again Bob,
re my reply to RM, Have you any idea where I could get info on image change with MouseMove and change back again when the mouse moves away, to mimic user selection 'buttons' often seen on web pages? Maybe mousemove is not the best way? Thanks again -- David |
Splash screens from VBA!
David,
I have some code that creates tooltips on mouseover. Might be possible to adapt to change button details. Any use? -- HTH RP (remove nothere from the email address if mailing direct) "David" wrote in message ... Hello again Bob, re my reply to RM, Have you any idea where I could get info on image change with MouseMove and change back again when the mouse moves away, to mimic user selection 'buttons' often seen on web pages? Maybe mousemove is not the best way? Thanks again -- David |
Splash screens from VBA!
Yes please Bob,
thanks again -- David "Bob Phillips" wrote: David, I have some code that creates tooltips on mouseover. Might be possible to adapt to change button details. Any use? -- HTH RP (remove nothere from the email address if mailing direct) "David" wrote in message ... Hello again Bob, re my reply to RM, Have you any idea where I could get info on image change with MouseMove and change back again when the mouse moves away, to mimic user selection 'buttons' often seen on web pages? Maybe mousemove is not the best way? Thanks again -- David |
All times are GMT +1. The time now is 01:17 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com