05/03/10 21:03
Exor
salve forum
ho questa classe:
nel costruttore MainDlg(HINSTANCE hInstance, LPTSTR lpTemplate, HWND hParent); io cerco di inizializzare una dialog:
come quarto parametro della macro DialogBox dovrei dare un valore DLGPROC, che dato come funzione normale, non ci sono problemi, ma dato come membro di una classe il compiler mi da errore:
mi potreste aiutare a capire come mai non funziona ?
grazie
PS: dimenticavo di dire che neanche con un cast riesco a risolvere.
ho questa classe:
class MainDlg { public: MainDlg(); MainDlg(HINSTANCE hInstance, LPTSTR lpTemplate, HWND hParent); // costruttore void OnInitDlg(HWND hDlg); // on dialog init INT_PTR CALLBACK MainDlgProc(HWND, UINT, WPARAM, LPARAM); private: HWND hDlg; };
nel costruttore MainDlg(HINSTANCE hInstance, LPTSTR lpTemplate, HWND hParent); io cerco di inizializzare una dialog:
MainDlg::MainDlg(HINSTANCE hInstance, LPTSTR lpTemplate, HWND hParent) { // HWND nRes; var d'appoggio nRes = DialogBox(hInstance, lpTemplate, hParent, &MainDlg::MainDlgProc); if (nRes) hDlg = (HWND)nRes; }
come quarto parametro della macro DialogBox dovrei dare un valore DLGPROC, che dato come funzione normale, non ci sono problemi, ma dato come membro di una classe il compiler mi da errore:
error C2664: 'DialogBoxParamA': impossibile convertire il parametro 4 da 'INT_PTR (__stdcall ExAppNS::MainDlg::* )(HWND,UINT,WPARAM,LPARAM)' a 'DLGPROC'
mi potreste aiutare a capire come mai non funziona ?
grazie
PS: dimenticavo di dire che neanche con un cast riesco a risolvere.
aaa