Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    372

    [c++] window class

    utilizzo una window class .... ed al membro wc.lpszMenuName (quello relativo al menu) uso:

    wc.lpszMenuName = MAKEINTRESOURCE(IDR_MAINMENU);

    registro la classe:

    RegisterClassEx(&wc);

    creo la finestra:

    hwnd = CreateWindowEx(
    WS_EX_CLIENTEDGE,
    g_szClassName,
    "Ildebrandino",
    WS_OVERLAPPEDWINDOW,
    CW_USEDEFAULT, CW_USEDEFAULT, 500, 400,
    NULL, NULL, hInst, NULL);


    tutto ok ... solo che NON VISUALIZZA IL MENU che è stato creato (non utilizzando una classe relativa) il file di risorsa (.rc)

    premesso che la define del menu è univoca, come posso verificare se MAKEINTRESOURCE fa le dovute cose (convertire la giusta costante nel relativo int)

    altrimenti come rimedio

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    372
    ... secondo me è un problema di risorse/compilatore e/o struttura, non sò spiegare come e perchè, ma ho fatto varie prove e disassemblato il programma (che è in fase inziale) ed è così composto:

    1) in sostanza per adesso ho una logon che ad utente riconosciuto ritorna un int (se 1 si accede al programma); è su proprio file sorgente in modo da essere utilizzata anche per altri programmi richiamando la sola funzione login(); il sorgente è così composto:

    #define STRICT
    #define WIN32_LEAN_AND_MEAN
    #include <windows.h>
    #include <windowsx.h>

    #include "login_resource.h" // risorse del dialogo per logon
    #include "dlgclose.h" // prototipo di funzione x chiusura logon
    #include "leggitext.h" // prototipo di funzione per acquisire i valori digitati nella logon

    // funzione per processare i WM_COMMAND

    // funzione della dialogo procedure

    // funzione chiamata api dialogoParam



    2) nella WinMain:

    #define STRICT
    #define WIN32_LEAN_AND_MEAN
    #include <windows.h>

    #include "logon.h" // prototipo di funzione logon

    #include "menu.h" // risorse del menu della window frame

    // definizione della costante per la Window Class

    // procedura per la Finestra
    LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) {
    ...
    ...
    return 0;
    }


    int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nCmdShow) {

    int RvLogin;
    RvLogin = Login(); // chiamata della funzione logon
    if (RvLogin == 1) {

    WNDCLASSEX wc;
    HWND hwnd;
    MSG Msg;

    //Registrazione della Window Class
    wc.cbSize = sizeof(WNDCLASSEX);
    wc.style = 0;
    wc.lpfnWndProc = WndProc;
    wc.cbClsExtra = 0;
    wc.cbWndExtra = 0;
    wc.hInstance = hInst;
    wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    wc.hCursor = LoadCursor(NULL, IDC_ARROW);
    wc.hbrBackground = (HBRUSH)(COLOR_WINDOW-1);
    wc.lpszMenuName = MAKEINTRESOURCE(IDR_MAINMENU); /// QUI
    wc.lpszClassName = g_szClassName;
    wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION);

    RegisterClassEx(&wc);

    hwnd = CreateWindowEx(WS_EX_CLIENTEDGE, g_szClassName, "Ildebrandino", WS_OVERLAPPEDWINDOW,
    CW_USEDEFAULT, CW_USEDEFAULT, 800, 500, NULL, NULL, hInst, NULL); //creazione finestra
    ShowWindow(hwnd, nCmdShow);
    UpdateWindow(hwnd);

    // ciclo dei messaggi
    while(GetMessage(&Msg, NULL, 0, 0) > 0)
    {
    TranslateMessage(&Msg);
    DispatchMessage(&Msg);
    }
    return Msg.wParam;

    }
    return 0;

    }



    ..pensando fosse un problema di compilazione ho compilato singolarmente ogni modulo in modo manuale, sia affidandosi a MinGw il menu non appare comunque;
    in fase di compilazione e linkaggio delle risorse queste sono individuate (perchè cambiando identificativo nella define il compilatore ti avverte), ma in runtime del programma
    non c'è manco l'ombra.

    .. in debug ovviamente nessun problema (anche perchè la finestra appare ...)

    ... disassemblando il programma ho staccato la parte relativa alla logon, così facendo il menu appare nella finestra, altrimenti no ... ma come è possibile;
    dov'è l'inghippo, dove sbaglio ... non si gestiscono le risorse così come le ho utilizzate io? è anche assurdo fare un unico file di risorse, altrimenti addio modularità.

    è 4 giorni che ci impazzisco e "smoccolo" ... non sò che altro controllare e se non risolvo non posso continuare ... aiuto!!

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,472
    Hai modo di postare una url da cui scaricare il progetto che non funziona?

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    372
    Originariamente inviato da oregon
    Hai modo di postare una url da cui scaricare il progetto che non funziona?
    ... mi organizzo

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    372
    Originariamente inviato da oregon
    Hai modo di postare una url da cui scaricare il progetto che non funziona?

    ecco qua http://www.ildebrandino.it/download.html

    grazie

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,472
    Ma che compilatore usi?

    Non sono riuscito a caricare il file di progetto .msdp ...

    Comunque ... ho rifatto un progetto con VC, tolto alcune define e ricompilato ... e funziona ...

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    372
    Originariamente inviato da oregon
    Ma che compilatore usi?

    Non sono riuscito a caricare il file di progetto .msdp ...

    Comunque ... ho rifatto un progetto con VC, tolto alcune define e ricompilato ... e funziona ...

    il progetto è creato dall' IDE MinGW Devoloper Studio 2.05
    il compilatore è il suo mingw32


    che define hai tolto? sono forse quelle che mi danno problemi?
    mi fai capire cosa c'è che non va da me?

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    372
    Originariamente inviato da oregon
    Ma che compilatore usi?

    Non sono riuscito a caricare il file di progetto .msdp ...

    Comunque ... ho rifatto un progetto con VC, tolto alcune define e ricompilato ... e funziona ...

    quando puoi gratita la risposta !!!

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    372
    ... in attesa di Oregon qualcuno ha idea

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,472
    Purtroppo adesso non ricordo ... e' passato tempo, il progetto e' in ufficio e non e' possibile piu' scaricarlo per dare un'altra occhiata ...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.