Oppure

Loading
03/09/09 10:08
Zimo
Ecco i tre file che costituiscono il programma:
file1c.c
#include<windows.h>
#include"file2menu.h"
#define WIN32_LEAN_AND_MEAN

BOOL CALLBACK Procedura(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam){
     
if(uMsg==WM_CLOSE){
 EndDialog(hwndDlg, 0);
 return TRUE;
}else if(uMsg==WM_COMMAND){
UINT codice = HIWORD(wParam); 
if(codice != BN_CLICKED) return FALSE; 
int idCliccato = LOWORD(wParam);
 if(idCliccato!=IDC_BOTTONE) return FALSE; 
 HWND hScritta = GetDlgItem(hwndDlg,IDC_PRIMO);
 if(!hScritta) return FALSE;
 return SetWindowText(hScritta, idCliccato==IDC_BOTTONE?"Primo":""); 
 

} else if(uMsg==WM_COMMAND){
switch(LOWORD(wParam))
       {
        case IDM_HELP_ABOUT:
        MessageBox(0, "Questo programma è stato realizzato da Zimo", "Informazione", MB_OK | MB_ICONINFORMATION);
        return TRUE;
        
        case IDM_FILE_EXIT:
             EndDialog(hwndDlg, 0);
        return TRUE;
       }
}
return FALSE;
}


int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nCmdShow){
DialogBoxParam(0, "Dialogo", 0, Procedura, 0);
return 0;
}


file1.rc
#include<windows.h>
#include"file2menu.h"

Dialogo DIALOG DISCARDABLE 0, 0, 182, 172
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_OVERLAPPEDWINDOW
CAPTION "Mia Applicazione ;)"
FONT 8,"MS Sans Serif"
MENU IDR_MAIN_MENU
BEGIN
CONTROL "Questo è un programma scritto da Zimo", IDC_PRIMO, "STATIC", SS_CENTER | SS_SUNKEN, 5, 5 , 170, 10
CONTROL "Conferma", IDC_BOTTONE, "BUTTON", BS_PUSHBUTTON, 10, 40, 40, 10
CONTROL "", 103, "EDIT", WS_BORDER, 60, 50, 60, 10
END

IDR_MAIN_MENU MENU 
BEGIN
    POPUP "&File"
    BEGIN
        MENUITEM "Se&lect a Sound",             IDM_FILE_SOUND
        MENUITEM "E&xit",                       IDM_FILE_EXIT
    END
    POPUP "&Help"
    BEGIN
        MENUITEM "&About...\tF1",               IDM_HELP_ABOUT
    END
END


file2menu.h
#define IDR_MAIN_MENU                   102
#define IDR_POPUP                       103
#define IDM_FILE_SOUND                  2001
#define IDM_FILE_EXIT                   2002
#define IDM_HELP_ABOUT                  2003
#define IDC_PRIMO                       101
#define IDC_BOTTONE                     102


Riesco a compilare questo programma senza errori, ma quando vado ad eseguirlo riesco a svolgere il ciclo in cui se clicco in un bottone mi cambia il testo di uno static, ma se provo a cliccare nel menu ad esempio in 'About' o 'Exit' non mi fa niente.So che il pezzo di codice riguardante queste procedure è incasinato parecchio, però è da stamattina che provo a risolvere il problema senza risultato.
aaa