Discussione:
WinApi32 MENUITEM "Testo Sottomenu", 0, GRAYED
(troppo vecchio per rispondere)
NERO23
2013-10-27 19:34:15 UTC
Permalink
Linguaggio C

Riporto una parte del codice trovato su internet ( da scrivere sul
file .rc). Il risultato è un menù e relativo sottomenù...


-------
IDR_MYMENU MENU
{
POPUP "&Processo"
{
MENUITEM "Vai", ID_STUFF_GO
MENUITEM "Altro", 0, GRAYED // Testo del menù in grigietto
}
}

------------------

in questa istruzione, " MENUITEM "Altro", 0, GRAYED "
GRAYED mi disegna in grigetto in testo del sottomenù (stato inibito). Il
parametro "0" a cosa serve?


Grazie

nero23
acc
2013-10-27 20:31:26 UTC
Permalink
Post by NERO23
Linguaggio C
Riporto una parte del codice trovato su internet ( da scrivere sul
file .rc). Il risultato è un menù e relativo sottomenù...
-------
IDR_MYMENU MENU
{
POPUP "&Processo"
{
MENUITEM "Vai", ID_STUFF_GO
MENUITEM "Altro", 0, GRAYED // Testo del menù in grigietto
}
}
------------------
in questa istruzione, " MENUITEM "Altro", 0, GRAYED "
GRAYED mi disegna in grigetto in testo del sottomenù (stato inibito). Il
parametro "0" a cosa serve?
Al posto di 0 ci va l'ID (un intero) che corrisponde al messaggio del
sotto menu, quello che verra' poi elaborato dalla procedura che gestisce
la window, Es:

LRESULT APIENTRY WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM
lParam) {
switch (msg) {
case WM_COMMAND:
switch(LOWORD(wParam)) {
case ID_STUFF: DoStuff(); break;
case ID_ALTRO: DoAltro(); break;
//
// Inserire qui eventuali altre opzioni del menu
//
}
return 0;
//
// Inserire qui eventuali altri messaggi
//
}
return DefWindowProc(hwnd,msg,wParam,lParam);
}

A ID_ALTRO andra' assegnato un valore intero come per ID_STUFF, questi
andranno definito in un file .h (di solito resource.h) da #includere nei
sorgenti che fanno riferimento a questi dati (di solito il programma
principale e il file .rc).

Nell'esempio che hai trovato e' stato assegnato 0 come ID perche' di
fatto non e' utilizzato, e' un brutto modo di fare perche' non spiega a
cosa serve. ;-)

Loading...