PDA

Visualizza la versione completa : [VB6] API e MsgBoxParams


Gammino
12-09-2002, 16:03
Qualcuno sa aiutarmi nell'uso di MSGBOXPARAMS?

E' un tipo utilizzato nelle API per la chiamata di un msgbox...

$$$
23-09-2002, 21:36
Originariamente inviato da Gammino
Qualcuno sa aiutarmi nell'uso di MSGBOXPARAMS?

E' un tipo utilizzato nelle API per la chiamata di un msgbox...


se ci sei batti un colpo e avrai il codice...

Gammino
23-09-2002, 23:33
:dh: Va bene cos?

Gammino
23-09-2002, 23:39
Comunque nel frattempo ho imparato ad usarlo un p...
Purtroppo mi rimasto sul gozzo lpszIcon che non sono proprio riuscito ad usare per personalizzare l'icona visualizzata.

Se devo essere sincero, stando ai chili di esempi su internet dell'uso con C ed all'assoluta mancanza di esempi per VB, inizio a pensare che sto lpszIcon funzichi solo con C...:(

Spero che non sia vero...

NON DIRMI CHE E' COSI'....

NOOOOOOO!!! :cry:

(Fine primo tempo)

Gammino
24-09-2002, 09:45
:dh: :dh: (Magari non si era sentito il colpo...) :gren:

$$$
24-09-2002, 12:27
Eccomi ecccomi aspetta che preparo il codice x VB..

l'icona da dove la vuoi estrarre... da un PICTUREBOX o dalle risorse?

Gammino
24-09-2002, 12:53
Tu che ne dici?
Forse sarebbe meglio da una PictureBox...
Sei tu il mago, dimmi tu! ;)

$$$
24-09-2002, 12:55
con picturebox meglio ma ce piu codice...





Sto facendo il codice.... ABBI PAZIENZA :p :p

$$$
24-09-2002, 13:30
Codice del modulo:


Option Explicit

Public Declare Function MessageBoxIndirect Lib "user32" Alias "MessageBoxIndirectA" (lpMsgBoxParams As MSGBOXPARAMS) As Long
Public Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As Long
Public Declare Function DestroyIcon Lib "user32" (ByVal hIcon As Long) As Long


Public Type MSGBOXPARAMS
cbSize As Long
hwndOwner As Long
hInstance As Long
lpszText As String
lpszCaption As String
dwStyle As Long
lpszIcon As String
dwContextHelpId As Long
lpfnMsgBoxCallback As Long
dwLanguageId As Long
End Type


Public Const MB_USERICON = &H80&
Public Const MB_ABORTRETRYIGNORE = &H2&
Public Const MB_APPLMODAL = &H0&
Public Const MB_COMPOSITE = &H2&
Public Const MB_DEFAULT_DESKTOP_ONLY = &H20000
Public Const MB_DEFBUTTON1 = &H0&
Public Const MB_DEFBUTTON2 = &H100&
Public Const MB_DEFBUTTON3 = &H200&
Public Const MB_DEFMASK = &HF00&
Public Const MB_ICONASTERISK = &H40&
Public Const MB_ICONEXCLAMATION = &H30&
Public Const MB_ICONHAND = &H10&
Public Const MB_ICONINFORMATION = MB_ICONASTERISK
Public Const MB_ICONQUESTION = &H20&
Public Const MB_ICONSTOP = MB_ICONHAND
Public Const MB_MISCMASK = &HC000&
Public Const MB_MODEMASK = &H3000&
Public Const MB_NOFOCUS = &H8000&
Public Const MB_OK = &H0&
Public Const MB_OKCANCEL = &H1&
Public Const MB_PRECOMPOSED = &H1&
Public Const MB_RETRYCANCEL = &H5&
Public Const MB_SETFOREGROUND = &H10000
Public Const MB_SYSTEMMODAL = &H1000&
Public Const MB_TASKMODAL = &H2000&
Public Const MB_TYPEMASK = &HF&
Public Const MB_USEGLYPHCHARS = &H4&
Public Const MB_YESNO = &H4&
Public Const MB_YESNOCANCEL = &H3&

Public Const IDABORT = 3
Public Const IDCANCEL = 2
Public Const IDCONTINUE = 5
Public Const IDIGNORE = 5
Public Const IDNO = 7
Public Const IDOK = 1
Public Const IDRETRY = 4
Public Const IDTRYAGAIN = 4
Public Const IDYES = 6





Codice Form:


Private Sub Command1_Click()

Dim MsgBox_params As MSGBOXPARAMS
Dim MsgBox_result As Long
Dim Icon_Handle As Long

Icon_Handle = ExtractIcon(App.hInstance, "NOME_FILE_ICONA.ico" & Chr(0), 0)


With MsgBox_params
.cbSize = Len(MsgBox_params)
.hwndOwner = Form1.hWnd
.hInstance = App.hInstance
.lpszText = "Si vede l'icona estratta ???" & Chr(0)
.lpszCaption = "PROVA" & Chr(0)
.dwStyle = MB_YESNO Or MB_USERICON
.lpszIcon = Icon_Handle
.dwContextHelpId = 0
.dwLanguageId = 0
End With

MsgBox_result = MessageBoxIndirect(MsgBox_params)
DestroyIcon ByVal Icon_Handle

End Sub

$$$
24-09-2002, 13:39
Adesso sto facendo il codice x le picturebox... please wait:quote:

Loading