Oppure

Loading
06/02/08 15:55
pinguino
ciao.

vorrei sapere come in vb6 posso fare in modo che una finestra rimanga sempre in primo piano sullo schermo

in vb .net si usa:

Me.TopMost = true

in vb6 cosa devo mettere!?!?!?
aaa
06/02/08 16:15
TheLizard
ti posto un link:
vbsimple.net/…
Spero che ti sia d'aiuto :k:
aaa
06/02/08 16:48
gius
Nel generale metti:
Private Declare Function SetWindowPos Lib "user32.dll" (ByVal hwnd As Long, _
    ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, _
    ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Const HWND_TOP As Long = 0
Private Const HWND_TOPMOST As Long = -1
Private Const HWND_NOTOPMOST As Long = -2
Private Const SWP_NOMOVE As Long = &H2
Private Const SWP_NOSIZE  As Long = &H1


Per renderla in primo piano:
SetWindowPos Form1.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE + SWP_NOSIZE
aaa
06/02/08 17:02
pinguino
ho fatto come mi avete detto,

ho inserito in un modulo questo codice:

Private Declare Function SetWindowPos Lib "user32.dll" (ByVal hwnd As Long, _
    ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, _
    ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Const HWND_TOP As Long = 0
Private Const HWND_TOPMOST As Long = -1
Private Const HWND_NOTOPMOST As Long = -2
Private Const SWP_NOMOVE As Long = &H2
Private Const SWP_NOSIZE  As Long = &H1

e in un form chiamato Form2 ho inserito:

Private Sub Form_Load()
SetWindowPos Form2.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE + SWP_NOSIZE
End Sub

come vedi nel codice ho modificato da Form1 a Form2, sl che quando si carica il form mi da il seguente errore:

compile error:

Sub or Function not defined.

e mi sottolinea la SetWindowsPos nell' evento Form_Load.

stessa cosa se invece ke Form2 metto "Me"
aaa
06/02/08 17:20
TheLizard
Postato originariamente da gius:

Nel generale metti:


Devi metterlo nel generale, non nel modulo..
aaa
06/02/08 17:36
pinguino
Postato originariamente da TheLizard:

Postato originariamente da gius:

Nel generale metti:


Devi metterlo nel generale, non nel modulo..


cioè?

P.S.: cavolo nn credevo ci fosse tanta differenza tra vb.net e vb6.... nel .net basta una stringa di codice, mentre qua c' è bisogno di un bel pò lol.

in pratica sto facendo un programma in vb.net, solo che ho dei problemi con il .NET framework (nn mette il form precisamente al centro dello schermo) mentre con vb6 lo mette preciso.
sl che ho bisogno che quel form sia sempre in primo piano, cosa ke nn so fare con vb6 perkè ho sempre usato solo il .net.
Ultima modifica effettuata da pinguino 06/02/08 17:37
aaa
06/02/08 17:40
pinguino
ok ora funge, grazie dell' aiuto.

ne approfitto per fare un altra domandina:

quando chiudo il form principale, gli altri rimangono aperti lasciando il programma in esecuzione, come posso fare in modo che alla chiusura del principale si chiudano anche gli altri? oppure tutta l' applicazione.
Ultima modifica effettuata da pinguino 06/02/08 17:47
aaa
06/02/08 19:10
gius
Puoi fare un semplice End
Form2.Show
Form3.Show
End
Ultima modifica effettuata da gius 06/02/08 19:10
aaa