tbostwick,
First, a proviso - my full-up Office-pro system died a virus death a little while ago, and I gave it to my kid as an excuse for my new toy. Thus, I am working from memory today. If I am wasting your time, tell me, please.
Yes, issue #1 is a pain in the tail, especially if you want to change window styles on the fly. That said, my experience in composing relatively small applications is that the available functionality was adequate to my needs. I'm not sure what you are facing, but all of the principle window styles should be available.
Also, you might try setting the BorderStyle property of your form (in the forms editor) to 0 or 1 (borderless or thin, respectively). The 2003 reference I found is
here.
Another sleezy trick you might use is this, but it really isn't professional at all:
- Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
-
If CloseMode = vbFormControlMenu Then
-
Cancel = True
-
MsgBox "Please use the Close Form button!"
-
End If
-
End Sub
Issue #2 is a pain - I know that you don't have a lot of control over most aspects of the "controls", although you can get a list of the available messages that they can process by using VBA's editor's drop-down. Looking around, I found
this old example for graphic controls, which might help for pure graphical manipulation. It kind of stinks that we have to break out into the Windows API, rather than having some degree of native competence in VBA.
The example above is for VBA 6, however I think that it might help you with your issue #3.
Kind Regards,
Oralloy