Si, quando si parla di VB7 si intende VB.net !
Per la cronaca, ecco un esempio su come implementare nelle form di vb6 la proprietà opacity delle WindowsForm di vb.net... unica differenza: in questo esempio la proprietà può accettare un'intero compreso tra 0 (del tutto trasparente) e 255 (del tutto visibile)
codice:
Option Explicit
Private Declare Function SetLayeredWindowAttributes _
Lib "user32.dll" (ByVal hwnd As Long _
, ByVal crKey As Long, ByVal bAlpha As Byte _
, ByVal dwFlags As Long) As Long
Private Declare Function SetWindowLong Lib "user32.dll" _
Alias "SetWindowLongA" (ByVal hwnd As Long _
, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32.dll" _
Alias "GetWindowLongA" (ByVal hwnd As Long _
, ByVal nIndex As Long) As Long
Private Const LWA_ALPHA As Long = &H2
Private Const GWL_EXSTYLE As Long = -20
Private Const WS_EX_LAYERED As Long = &H80000
'
Property Let Opacity(value As Integer)
' Imposta la trasparenza del form
' value deve essere compreso tra 0 e 255
If value < 0 Or value > 255 Then
Err.Raise 380, value
Exit Property
End If
' applica la trasparenza
Dim CurrentExStyle As Long
' recupera lo stile esteso corrente
CurrentExStyle = GetWindowLong(Me.hwnd, GWL_EXSTYLE)
' fa OR con stile layered
CurrentExStyle = CurrentExStyle Or WS_EX_LAYERED
' applica il nuovo stile
SetWindowLong Me.hwnd, GWL_EXSTYLE, CurrentExStyle
' applica la trasparenza
SetLayeredWindowAttributes Me.hwnd, 0&, value, LWA_ALPHA
End Property
Comunque non credo sia ciò che cercavi.
Se vuoi rendere invisibile la form e mostrare solo pulsanti e altri controlli presenti, devi operare con le regioni... E' un po' complesso da spiegare e ci sono numerosi passaggi da seguire per realizzarlo. Se questo è ciò che chiedevi vedo di trovare una mezz'oretta... ma che dico: una giornata per buttarti giù un po' di codice.
Ciao
Simo