Oppure

Loading
28/09/09 11:37
piter123
Salce come faccio a rendere opaca una form figlia di una mdiform in vb6?
Grazie
aaa
28/09/09 11:38
theprogrammer
Ovvero? Spiegati meglio ...
aaa
28/09/09 12:24
piter123
mi spiego meglio, con il seguente codice se la form non è figlia di mdiform (mdichild=false) funziona altrimenti no (se mdichild=true)
In sostanza ho bisogno di aprire una form stile trasparente ma in realta' opaca interna alla mdiform

Option Explicit
Const LWA_COLORKEY = &H1
Const LWA_ALPHA = &H2
Const GWL_EXSTYLE = (-20)
Const WS_EX_LAYERED = &H80000
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 SetLayeredWindowAttributes Lib "user32" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long

Private Sub Form_Load()
Dim Ret As Long
Ret = GetWindowLong(Me.hWnd, GWL_EXSTYLE)
Ret = Ret Or WS_EX_LAYERED
SetWindowLong Me.hWnd, GWL_EXSTYLE, Ret
SetLayeredWindowAttributes Me.hWnd, 0, 128, LWA_ALPHA
SetLayeredWindowAttributes Form1.hWnd, 0, 0, LWA_COLORKEY
End Sub
aaa
28/09/09 12:54
theprogrammer
Perdonami, ma tu pensi che questa parte della tua richiesta

"... una form stile trasparente ma in realta' opaca ..."

sia comprensibile?
aaa
28/09/09 13:00
piter123
ma è cos' difficile da capire la mia umile richiesta. Forse mi stai prendendo in giro, se tu fossi un vero programmatore e non come lo sono io solo leggendo il codice postato avresti capito, non voglio fare nessuna polemica ma mi sembra di essere preso in giro.

sai cosà è una form con effetto trasparenza ?????

sai cos'è una form con effetto opacity ????

se non conosci questi termini non rispondere nemmeno, non fare perdere n'è tempo a te stesso, ne a me e nemmono a tutti gli utenti che leggono e postano in questo bellissimo forum.
aaa
28/09/09 13:07
GrG
lol si vede che sei nuovo del forum... comunque neanche io ho ben capito... ho provato il codice che hai postato ma il form mi rimane normale (apparte l'icona in alto a sinistra che è trasparente)... è questo quello che vuoi?

e poi a che scopo? non mi sembra molto utile...:-|
aaa
28/09/09 13:20
piter123
proverò a spiegarmi meglio altrimenti grazie comunque per l'interessamento.
Ho un progetto vb6 con una mdiform padre.
Al suo interno apro una form figlia.
Succede poi di avere bisogno di oscurare questa form figlia con un'altra di colore nero che abbia un effetto non di totale trasparenza, ma con effetto opacity in modo tale da oscurare la form sottostante, questo per dare un effetto di oscuramento e non di soprapposizione delle due form.
Il problema stà nel fatto che usando comuni form il tutto funziona, compreso il codice precedentemente postato, ma utilizzando form padre-figlia questo effetto non riesco a ottenerlo. Esiste un sistema per ingannare la mdiform per ottenre lo stesso effetto comunemente chiamato su internet da tutti form opacity ?
Mille grazie, scusate se sono stato arrogante, non lo sono mai ma non riesco a capire come sia difficile capire una cosa così semplice, poi magari complicata nel realizzarsi, non volevo e non voglio offendere nessuno e se successo chiedo umilmente scusa.
aaa
28/09/09 13:24
piter123
ecco un esempio con form comuni, ho bisogno di ottenere lo stesso effetto su due form filie all'interno di una mdiform
aaa