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)
Comunque non credo sia ciò che cercavi.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
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

Rispondi quotando