Lo de las constantes no tiene mucha ciencia, y si el nombre tiene su logica, pero en visual basic al menos no es tan importante el nombre (aunque la mayoria lo respetan), simplemente
las constantes sustituyen un valor y lo hacen mas facil de reconocerPor ejemplo:
Esta es la version correcta:
Private Declare Function MessageBox Lib "user32" Alias "MessageBoxA" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long) As Long
Const MB_YESNO = &H4&
Const MB_ICONQUESTION = &H20&
Private Sub Command1_Click()
MessageBox Me.hwnd, "Hola Mundo", "Hola", MB_YESNO + MB_ICONQUESTION
End Sub
Pero es exactamente el mismo resultado:
Private Declare Function MessageBox Lib "user32" Alias "MessageBoxA" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long) As Long
Private Sub Command1_Click()
MessageBox Me.hwnd, "Hola Mundo", "Hola", &H4& + &H20&
End Sub
Igual puedes sustituir &H4& + &H20& por 32 +4 o simplemente 36.
Pero igual tambien puedes poner los nombres que desees a las constantes (respetando su valor):
Private Declare Function MessageBox Lib "user32" Alias "MessageBoxA" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long) As Long
Const SINO = &H4&
Const PREGUNTA = &H20&
Private Sub Command1_Click()
MessageBox Me.hwnd, "Hola Mundo", "Hola", SINO + PREGUNTA
End Sub
Obviamente te recomiendo la forma correcta, ya que el tener buenos habitos de programacion te ayudara a migrar a otros lenguajes.
Saludos