Oppure

Loading
01/06/07 15:19
simo!!
ciao a tutti!!!io sono nuovo di qui.....e sono anke alle prime armi con la programmazione in vb!!!xò mi serve sapere come disabilitare il pulsante chiudi della form per un programmino...non è che qualcuno è in grado di aiutarmi?!?!grazie mille!!!!!:k:
aaa
01/06/07 15:34
Cross
eccoti il codice simo!!!:
'queste sono le dichiarazioni delle api

Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long
Private Const MF_BYPOSITION = &H400&
'e dopo nel "Form load" metti quest'altro:
Dim HandleMenu As Long

Dim VociMenu As Long
HandleMenu = GetSystemMenu(Me.hwnd, 0)
VociMenu = GetMenuItemCount(HandleMenu)
Call RemoveMenu(HandleMenu, VociMenu - 1, MF_BYPOSITION)
Call RemoveMenu(HandleMenu, VociMenu - 2, MF_BYPOSITION)
DrawMenuBar Me.hwnd

a posto.
credo di essere stato di tuo aiuto.
ciao
aaa
01/06/07 15:37
simo!!
grazie cross!!!sei grande!!!:k:oggi lo provo e poi ti so dire,ma mi fido!!!!ciao!!!
aaa
01/06/07 15:40
Cross
di niente simo!! quando vuoi qualcosa io sono qui.
aaa
02/06/07 11:01
simo!!
ciao cross!!!scusa ho provato a inserire il codice nel programma ma alla riga
"HandleMenu = GetSystemMenu(Me.hwnd, 0)"
e alla riga
"DrawMenuBar(Me.hwnd)"
segna errore la parola hwnd dicendo che non è un membro della form.......nn so ke fare!!!:-?
aaa
02/06/07 11:27
Cross
allora fai così:
Option Explicit


Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long
Private Const MF_BYPOSITION = &H400&


questi li metti fuori dal form load perchè sono dichiarazioni dell'API di windows e devono rimanere fuori
aaa
02/06/07 11:30
Cross
dopo che hai messo la dichiarazione dell' API di windows (quelli di prima) ecco l'altro pezzo di codice:
Dim HandleMenu As Long

Dim VociMenu As Long
HandleMenu = GetSystemMenu(Me.hwnd, 0)
VociMenu = GetMenuItemCount(HandleMenu)
Call RemoveMenu(HandleMenu, VociMenu - 1, MF_BYPOSITION)
Call RemoveMenu(HandleMenu, VociMenu - 2, MF_BYPOSITION)
DrawMenuBar Me.hwnd


e quest'altro codice mettilo nel "form load" e provi a mandare in esecuzione il programma, a me così funziona.
se percaso non funziona postami tutto il codice così come lo hai inserito.
spero di esserti stato di aiuto.
aaa
02/06/07 13:09
simo!!
grazie!!ora provo e poi ti so dire!!ah,le dichiarazioni le metto nelle dichiarazioni della form,non nel module1,giusto?!
aaa