2tes Fenster???
-
WINAPI nooooobie schrieb:
Doch hat es eh HINSTANCE hInstance=NULL;
Na *das* hast Du in Deinem vorherigen Post aber nicht geschrieben. Außerdem brauchst Du ja den Handle des Moduls in dem die Resource liegt, meistens das aktuelle Modul (dann verwende zur Initialisierung einfach
GetModuleHandle(NULL)).WINAPI nooooobie schrieb:
Inwiefern überarbeitet?
Überarbeitet in so fern, dass das:
WINAPI nooooobie schrieb:
Callback vom Neuen Fenster:
BOOL CALLBACK Test(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){ switch (message) { case WM_INITDIALOG: { return TRUE; } } }falsch ist.
-
Falls du das return FALSE meinst..
Habe ich bereits ausgebessert...
-
Aber er kommt noch immer kein Fenster..
-
Man check den Rückgabewert, check GETLASTERROR, GETLASTERROR
-
@T2.0
Sorry keiner wurde als Meister geboren...wenn du schon dann kannst es ja sicher auch zambringen das es läuft und hier posten...
-
Ich hab schon lange kein VC mehr installiert. Was sagt GETLASTERROR??????
-
Was ich nicht anz verstehe ist, dass die Callback Funktion Test funktioniert da ich versucht habe in dem WM_INITDIALOG: eine MessageBox auszugeben!Diese wird auch ausgegeben nur erscheint das Fenster nicht...MFG
-
WS_VISIBLE, ShowWindow, GetLastError, http://msdn2.microsoft.com/en-us/library/ms644996(VS.85).aspx
MfG,
T2.0
-
@T2.0
Ich hatte ja meinen Befehl schon gepostet...der Unterscheidet sich nciht von dem was in der MSDN steht...
-
Aber klaro, sonst würde es ja gehen, oder? Befolge meinen Rat und es wird gehen.
-
na ich will mal nicht so sein.
void ErrorMessage( PTCHAR lpErrorMsg ) { TCHAR szSysMsg[256], szMsg[1024]; DWORD dwEnum; dwEnum = GetLastError(); FormatMessage( FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS | FORMAT_MESSAGE_MAX_WIDTH_MASK, NULL, dwEnum, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), szSysMsg, 256, 0 ); _sntprintf( szMsg, 1024, _T("%s(%d)"), szSysMsg, dwEnum ); MessageBox( NULL, szMsg, lpErrorMsg, MB_ICONERROR ); } ... ... if(!CreateDialog(blabla)) ErrorMessage("CreateDialog");
-
Tue ich ja gerne..
Was räts du mir??
Mit WS_Visible passiert iach nichts...
-
zeige mal das ganze prog in einem rutsche
-
Okey...
Meine Prozedur für mein Neues Fenster:
BOOL CALLBACK Test(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_INITDIALOG: { MessageBox(hWnd,"test,"test",MB_OK); } default: return FALSE; } }Hauptfenster
case WM_COMMAND: switch(LOWORD(wParam))//Was haben wir geklickt?? { case ButtonPlay: //ConnectSockets(hwnd); CreateDialog(hInstance,MAKEINTRESOURCE(IDD_Bewertung),hwnd,Bewertung); break; } break; default: return FALSE; }
-
Okey...
HINSTANCE hInstance=NULL;Meine Prozedur für mein Neues Fenster:
BOOL CALLBACK Test(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_INITDIALOG: { MessageBox(hWnd,"test,"test",MB_OK); } default: return FALSE; } }Hauptfenster
case WM_COMMAND: switch(LOWORD(wParam))//Was haben wir geklickt?? { case ButtonTest: //ConnectSockets(hwnd); CreateDialog(hInstance,MAKEINTRESOURCE(IDD_Test),hwnd,Test); break; } break; default: return FALSE; }
-
Dein hInstance is auch NULL. Mach hInstance mal weg bei CreateDialog schonmal und mach stattdessen GetModuleHandle(0) dahin. Dann checkste mal ob CreateDialog == NULL zurückgibt und wenn ja, machste mal die Funktion von mir oben rein und schreibst was die sagt also
HWND hWndDlg; case ButtonTest: //ConnectSockets(hwnd); if( (hWndDlg = CreateDialog(hInstance,MAKEINTRESOURCE(IDD_Test),hwnd,Test)) == NULL ) ErrorMessage("CreateDialog"); else ShowWindow(hWndDlg, SW_SHOW); break; }so ungefär
-
Beim GetLastError schreit er bei dieser Zeile:
_sntprintf( szMsg, 1024, _T("%s(%d)"), szSysMsg, dwEnum );
Kann das sein weil ich mit C kompiliere?
-
@T2.0!
Vielen vielen Dank!
Es funktioniert jetzt!!Danke nochmals
