-
Beim Code fällt mir nichts auf. Wenn es aber fehlschlägt rufe doch anschließend mal die Funktion GetLastError() auf und schaue, welcher Fehlercode dort zurückgegeben wird. Die Beschreibungen findest du hier: http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
Doch das geht, aber dann brauchst du Klasse auch nur ein einziges Mal registrieren, also nur ein Aufruf von InitWndClassEx() für beide Child Windows.
Gruß
MCoder"The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
--- Larry Wall
-
Ah ok danke. Aber wenn ich GetLastError(); ans Ende der Main-Funktion setze ändert das bei mir irgendwie gar nichts :/.
-
GetLastError() gibt einen Zahlenwert zurück, für den du im oben angegeben Link nachschauen kannst, was schiefgegangen ist. Es behebt nicht das Problem, hilft aber bei der Diagnose.
"The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
--- Larry Wall
-
Ja das mit dem Zahlenwert habe ich kapiert nur wo wird der Zahlenwert ausgegeben ? weil bei mir ändert sich gar nichts
-
Der wird gar nicht ausgegeben.
Mit
bekommst du den Wert und kannst ihn selber ausgeben.Code cpp:1
int abc = GetLastError...
Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
"Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?
-
Bis jetzt bin ich zwar noch nicht bei der Text ausgabe aber per:
klappt es nicht weil als 2.Parameter ein Text vom Typ LPCSTR oder so stehen müsste.Code cpp:1 2
int lastError = GetLastError(); MessageBox( NULL, lastError , "ErrorAusgabe", MB_ICONHAND | MB_OK | MB_DEFBUTTON1 );
Was mach ich alles falsch ?
Gruß
silent12
-
Hallo,
einen 'int' muss du natürlich erst in einen String umwandeln:
Code cpp:1 2 3
char buffer[10]; itoa(GetLastError(), buffer, 10); MessageBox( NULL, buffer , "ErrorAusgabe", MB_ICONHAND | MB_OK | MB_DEFBUTTON1 );
Dir scheinen noch arg viel Grundlagen abzugehen.
Gruß
MCoder"The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
--- Larry Wall
-
Ja ich habe bis jetzt auch nur einen Online Grundkurs gemacht und beginne gerade mit einem Grundkurs zu WinApi/Win32.
Ok danke für die vielen Tipps (:.
Die Meldung bedeutet: Hot key is already registered.
-
Was ist ein Hotkey in diesem Zusammenhang ? Ich habe ein bisschen rum "gegoogelt" aber nichts gefunden
-
14.11.11 08:02 #25
- Registriert seit
- Jun 2005
- Beiträge
- 8.168
Hi.
Welcher Fehlercode wird denn genau zurückgegeben? Und hast du die GetLastError Funktion auch direkt nach der fehlgeschlagenen Funktion aufgerufen? (also im Block Zeile 55?)
Du rufst die RegisterClassEx doppelt auf - einmal in der InitWndClassEx Funktion und in WinMain. Ist das Absicht?
GrußIf at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
Hallo,
also, ich habe deinen Code gerade mal ausprobiert und ich bekomme via GetLastError():
Code :1
1407 -> ERROR_CANNOT_FIND_WND_CLASS
Das liegt daran, dass du bei CreateWindowEx() die Variable 'szClassName' übergibst, die allerdings nur einmal mit "Hallo" vorbelegt und dann nie wieder benutzt wird. Bei InitWndClassEx() verwendest du nämlich ganz andere Klassennamen. Diese solltest auch genauso an CreateWindowEx() übergeben.
Du solltest übrigens auch deinen Code mal aufräumen und überflüssigen und damit fehlerträchtigen Code entfernen, siehe auch die Anmerkung von deepthroat.
Gruß
MCoderGeändert von MCoder (14.11.11 um 08:56 Uhr)
"The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
--- Larry Wall
-
Danke für die Antworten.
Habe gerade ein Problem wieder mit den ChildWindows. Und zwar habe ich per WS_CLIPSIBLINGS festgelegt, dass wenn ich zwei ChildWindows übereinander bewege die Farben und Texte der ChildWindows sich nicht ineinander "verziehen".
Das funktioniert zwar, aber ich bekomme immer nur das eine von beiden ChildWindows in den Vordergrund.
Hier nochmal mein jetziger Code:
Code cpp:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163
// main_cpp // #include <Windows.h> #include <iostream> int width = 640; int height = 420; LRESULT CALLBACK WndProc (HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam); bool InitWndClassEx ( WNDCLASSEX *WndClassEx, HINSTANCE hInstance, const char szClassName[] = "Hallo"); const char szClassName[] = "Hallo"; char szTitle[] = "1.Programm Grafic3 Silent1297 2011 ©"; HWND hWndChild; //Handle to 1.ChildWindow HWND hWndChild2; //Handle to 2. ChildWindow int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR szCmdLine, int iCmdShow) { WNDCLASSEX WndClassEx; // legt die Grundeigenschaften für das Fenster fest. WNDCLASSEX WndClassExChild; //Grundeigenschaften für ChildWindow WNDCLASSEX WndClassExChild2; //Grundeigenschaften für ChildWindow2 HWND hWnd; //legt die Eigenschaften des Fensters fest. MSG msg; //darin werden die Daten gespeichert. HINSTANCE hChildInst = NULL; // Registrierung // InitWndClassEx ( &WndClassEx, hInstance, szClassName); InitWndClassEx ( &WndClassExChild, hInstance, "WndClassExChild"); InitWndClassEx ( &WndClassExChild2, hInstance, "WndClassExChild2"); // Fenster Erstellen // hWnd = CreateWindowEx (NULL, // beeinhaltet die Folgenden Eigenschaften und die Eigenschaften aus WndClassEx szClassName, //hierüber werden die Eigenschaften aus WndClassEx. eingebunden szTitle, WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX, //Fenster (Minimierungsbutton..... 300, //Abstand-Oben 600, //Abstand-Links width, // Breite height, // Höhe NULL, NULL, hInstance, NULL); if ( hWnd == NULL ) {MessageBox ( NULL, "Create Window failed", "Error", MB_OK); return false; } { int cx = GetSystemMetrics(SM_CXSCREEN); //cx = desktopbreite ermitteln int cy = GetSystemMetrics(SM_CYSCREEN);//cx = desktophöhe ermitteln int px = (cx - width) / 2; //AbstanddesFensters von links errechnen int py = (cy - height) / 2; //AbstanddesFensters von oben errechnen MoveWindow( hWnd, px, py, width, height, true); } ShowWindow( hWnd, iCmdShow); hWndChild = CreateWindowEx (WS_EX_CLIENTEDGE, "WndClassExChild", "Child Window silent1297", WS_SYSMENU| WS_CAPTION | WS_CHILD| WS_VISIBLE | WS_CLIPSIBLINGS, //WS_CLIPSIBLINGS damit Fenster beim Verziehen nicht "verwischt" 70, 20, 250, 300, // LinksAbstand, Obenabstand, Breite, Höhe hWnd, NULL, hChildInst, NULL ); hWndChild2 = CreateWindowEx (WS_EX_CLIENTEDGE, "WndClassExChild2", "Child Window - 2 silent1297",WS_SYSMENU | WS_CAPTION | WS_CHILD| WS_VISIBLE | WS_CLIPSIBLINGS, //WS_CLIPSIBLINGS damit Fenster beim Verziehen nicht "verwischt" 320, 20, 250, 300, // LinksAbstand, Obenabstand, Breite, Höhe hWnd, NULL, hChildInst, NULL ); SetClassLong ( hWndChild2, GCL_HBRBACKGROUND, (LONG) GetStockObject (BLACK_BRUSH)); //ändert die Hintergrundfarbe des Fensters dessen HWND (Handle to Window) angegeben ist while( GetMessage ( &msg, hWnd, NULL, NULL) > NULL) // -1 = Fehler | 0 // > 0 { TranslateMessage( &msg ); // wird in Character-Message übersetzt DispatchMessage ( &msg ); // wird verschickt an die Callback Funktion }; // WINDOW-PROCEDUR(Einleitungsteil) -> WNDCLASSEX(Registrierung) -> HWND(Fenstereinstellungenfestlegen) -> MESSAGELOOP(Messages übersetzen und an die CALLBACK-Funktion weiterverschicken) return 0; } //Variablen zur Textausgabe des ParentWindow HDC hDCParent; // Handle to a Device Context für das ParentWindow PAINTSTRUCT psParent; //Paintstruktur für das ParentWindow char szTextParent[] = ("Hallo Welt"); // Text der ausgegeben werden soll für das ParentWindow //Variablen zur Textausgabe des 1.ChildWindow HDC hDCChild; // Handle to a Device Context für das ChildWindow PAINTSTRUCT psChild; //Paintstruktur für das ChildWindow char szTextChild[] = ("Hallo 1.ChildFenster"); // Text der ausgegeben werden soll für das ChildWindow LRESULT CALLBACK WndProc (HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) //Gehirn des eigentlichen Windows, Verarbeitung von Messages... { //Jede Message hat 2 Informationen ( wParam und lParam) switch (msg) { case WM_PAINT: //Text ausgeben hDCParent = BeginPaint (hWnd,&psParent); //ParentWindow neu gestalten :D hDCChild = BeginPaint (hWndChild,&psChild); //ChildWindow neu gestalten :D //Settings 1.ChildWindow SetBkMode (hDCChild, TRANSPARENT); //setzt die Hintergrundfarbe des Textes auf Transparent SetBkColor( hDCChild, RGB(255, 0, 0) ); // funktioniert wenn die SetbkMode(hDC, TRANSPARENT); nich vorhanden ist, ändert Hintergrundfarbe des Textes 1. Wert rot-wert, 2. Wert grün-wert, 3.Wert blau-wert SetTextColor (hDCChild, RGB(0, 0, 0) );//ändert Textfarbe des Textes 1. Wert rot-wert, 2. Wert grün-wert, 3.Wert blau-wert TextOut ( hDCChild, 50, 100, szTextChild, strlen(szTextChild) ); //2Zahlen am Anfang sind Koordinaten wo Text anfangen soll, 3. Ziffer ist die Anzahl der Zeichen des c-stirngs EndPaint ( hWndChild, &psChild); //beendet das neu gestalten des ChildWindows //Settings Parent Window SetBkMode (hDCParent, TRANSPARENT); //setzt die Hintergrundfarbe des Textes auf Transparent SetBkColor( hDCParent, RGB(255, 0, 0) ); // funktioniert wenn die SetbkMode(hDC, TRANSPARENT); nich vorhanden ist, ändert Hintergrundfarbe des Textes 1. Wert rot-wert, 2. Wert grün-wert, 3.Wert blau-wert SetTextColor (hDCParent, RGB(0, 0, 0) );//ändert Textfarbe des Textes 1. Wert rot-wert, 2. Wert grün-wert, 3.Wert blau-wert TextOut ( hDCParent, 10, 10, szTextParent, strlen(szTextParent) ); //2Zahlen am Anfang sind Koordinaten wo Text anfangen soll, 3. Ziffer ist die Anzahl der Zeichen des c-stirngs EndPaint ( hWnd, &psParent); //beendet das neu gestalten des ParentWindows break; case WM_DESTROY: //Fenster Ende (Wenn auf das X-geklickt wird PostQuitMessage(0); break; default: return DefWindowProc ( hWnd, msg, wParam, lParam); } } bool InitWndClassEx ( WNDCLASSEX *WndClassEx , HINSTANCE hInstance, const char *szClassName) //Funktion mit Defaultwerten für zB ChildWindows { WndClassEx->cbSize = sizeof( *WndClassEx); WndClassEx->style = NULL; WndClassEx->lpfnWndProc = (WNDPROC)WndProc; // hWnd -> CreateWindow (szClassName ) -> WndClass. WndClassEx->cbClsExtra = NULL; WndClassEx->cbWndExtra = NULL; WndClassEx->hInstance = hInstance; WndClassEx->hIcon = LoadIcon( NULL, IDI_WARNING); //Icon WndClassEx->hCursor = LoadCursor( NULL,IDC_ARROW); //Cursor WndClassEx->hbrBackground = (HBRUSH) GetStockObject ( WHITE_BRUSH) ; //Fensterfarbe WndClassEx->lpszMenuName = NULL; WndClassEx->lpszClassName = szClassName; // C-String WndClassEx->hIconSm = LoadIcon (NULL, IDI_APPLICATION); if ( !RegisterClassEx ( WndClassEx )) {MessageBox ( NULL, "Register Class failed", "Error", MB_OK); return false; } }
Geändert von silent12 (17.11.11 um 14:36 Uhr)
-
Ok habe noch einen schwerwiegenden Fehler gefunden, durch den sich auch gleich ein Problem mehr löste. Und zwar habe ich kein eigenes Handle für mein ParentWindow erstellt
.
Trotzdem habe ich immer noch das Problem, dass immer eins meiner ChildWindows im Vordergrund bleibt egal welches ChildWindow gerade aktiv ist.Code cpp:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184
// main_cpp // #include <Windows.h> #include <iostream> int width = 640; int height = 420; LRESULT CALLBACK WndProc (HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam); bool InitWndClassEx ( WNDCLASSEX *WndClassEx, HINSTANCE hInstance, const char szClassName[] = "Hallo"); const char szClassName[] = "Hallo"; char szTitle[] = "1.Programm Grafic3 Silent1297 2011 ©"; HWND hWndChild; //Handle to 1.ChildWindow HWND hWndChild2; //Handle to 2. ChildWindow HWND hWndParent; //legt die Eigenschaften des ParentWindows fest. int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR szCmdLine, int iCmdShow) { WNDCLASSEX WndClassEx; // legt die Grundeigenschaften für das Fenster fest. WNDCLASSEX WndClassExChild; //Grundeigenschaften für ChildWindow WNDCLASSEX WndClassExChild2; //Grundeigenschaften für ChildWindow2 MSG msg; //darin werden die Daten gespeichert. HINSTANCE hChildInst = NULL; // Registrierung // InitWndClassEx ( &WndClassEx, hInstance, szClassName); InitWndClassEx ( &WndClassExChild, hInstance, "WndClassExChild"); InitWndClassEx ( &WndClassExChild2, hInstance, "WndClassExChild2"); // Fenster Erstellen // hWndParent = CreateWindowEx (NULL, // beeinhaltet die Folgenden Eigenschaften und die Eigenschaften aus WndClassEx szClassName, //hierüber werden die Eigenschaften aus WndClassEx. eingebunden szTitle, WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX, //Fenster (Minimierungsbutton..... 300, //Abstand-Oben 600, //Abstand-Links width, // Breite height, // Höhe NULL, NULL, hInstance, NULL); if ( hWndParent == NULL ) {MessageBox ( NULL, "Create Window failed", "Error", MB_OK); return false; } { int cx = GetSystemMetrics(SM_CXSCREEN); //cx = desktopbreite ermitteln int cy = GetSystemMetrics(SM_CYSCREEN);//cx = desktophöhe ermitteln int px = (cx - width) / 2; //AbstanddesFensters von links errechnen int py = (cy - height) / 2; //AbstanddesFensters von oben errechnen MoveWindow( hWndParent, px, py, width, height, true); } ShowWindow( hWndParent, iCmdShow); hWndChild = CreateWindowEx (WS_EX_CLIENTEDGE, "WndClassExChild", "Child Window silent1297", WS_SYSMENU| WS_CAPTION | WS_CHILD| WS_VISIBLE | WS_CLIPSIBLINGS, //WS_CLIPSIBLINGS damit Fenster beim Verziehen nicht "verwischt" 70, 30, 250, 300, // LinksAbstand, Obenabstand, Breite, Höhe hWndParent, NULL, hChildInst, NULL ); hWndChild2 = CreateWindowEx (WS_EX_CLIENTEDGE, "WndClassExChild2", "Child Window - 2 silent1297",WS_SYSMENU | WS_CAPTION | WS_CHILD| WS_VISIBLE | WS_CLIPSIBLINGS, //WS_CLIPSIBLINGS damit Fenster beim Verziehen nicht "verwischt" 320, 30, 250, 300, // LinksAbstand, Obenabstand, Breite, Höhe hWndParent, NULL, hChildInst, NULL ); SetClassLong ( hWndChild2, GCL_HBRBACKGROUND, (LONG) GetStockObject (BLACK_BRUSH)); //ändert die Hintergrundfarbe des Fensters dessen HWND (Handle to Window) angegeben ist while( GetMessage ( &msg, hWndParent, NULL, NULL) > NULL) // -1 = Fehler | 0 // > 0 { TranslateMessage( &msg ); // wird in Character-Message übersetzt DispatchMessage ( &msg ); // wird verschickt an die Callback Funktion }; // WINDOW-PROCEDUR(Einleitungsteil) -> WNDCLASSEX(Registrierung) -> HWND(Fenstereinstellungenfestlegen) -> MESSAGELOOP(Messages übersetzen und an die CALLBACK-Funktion weiterverschicken) return 0; } //Variablen zur Textausgabe des ParentWindow HDC hDCParent; // Handle to a Device Context für das ParentWindow PAINTSTRUCT psParent; //Paintstruktur für das ParentWindow char szTextParent[] = ("Hallo Welt"); // Text der ausgegeben werden soll für das ParentWindow //Variablen zur Textausgabe des 1.ChildWindow HDC hDCChild; // Handle to a Device Context für das ChildWindow PAINTSTRUCT psChild; //Paintstruktur für das ChildWindow char szTextChild[] = ("Hallo 1.ChildFenster"); // Text der ausgegeben werden soll für das ChildWindow //Variablen zur Textausgabe des 2.ChildWindow HDC hDCChild2; // Handle to a Device Context für das ChildWindow PAINTSTRUCT psChild2; //Paintstruktur für das ChildWindow char szTextChild2[] = ("Hallo 2.ChildFenster"); // Text der ausgegeben werden soll für das ChildWindow LRESULT CALLBACK WndProc (HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) //Gehirn des eigentlichen Windows, Verarbeitung von Messages... { //Jede Message hat 2 Informationen ( wParam und lParam) switch (msg) { case WM_PAINT: //Text ausgeben hDCParent = BeginPaint (hWnd,&psParent); //ParentWindow neu gestalten :D hDCChild = BeginPaint (hWndChild,&psChild); //ChildWindow neu gestalten :D hDCChild2 = BeginPaint (hWndChild2, &psChild2); //Settings 2.ChildWindow SetBkMode (hDCChild2, TRANSPARENT); //setzt die Hintergrundfarbe des Textes auf Transparent SetBkColor( hDCChild2, RGB(255, 0, 0) ); // funktioniert wenn die SetbkMode(hDC, TRANSPARENT); nich vorhanden ist, ändert Hintergrundfarbe des Textes 1. Wert rot-wert, 2. Wert grün-wert, 3.Wert blau-wert SetTextColor (hDCChild2, RGB(255, 255, 255) );//ändert Textfarbe des Textes 1. Wert rot-wert, 2. Wert grün-wert, 3.Wert blau-wert TextOut ( hDCChild2, 50, 100, szTextChild2, strlen(szTextChild2) ); //2Zahlen am Anfang sind Koordinaten wo Text anfangen soll, 3. Ziffer ist die Anzahl der Zeichen des c-stirngs EndPaint ( hWndChild2, &psChild2); //beendet das neu gestalten des ChildWindows2 //Settings 1.ChildWindow SetBkMode (hDCChild, TRANSPARENT); //setzt die Hintergrundfarbe des Textes auf Transparent SetBkColor( hDCChild, RGB(255, 0, 0) ); // funktioniert wenn die SetbkMode(hDC, TRANSPARENT); nich vorhanden ist, ändert Hintergrundfarbe des Textes 1. Wert rot-wert, 2. Wert grün-wert, 3.Wert blau-wert SetTextColor (hDCChild, RGB(0, 0, 0) );//ändert Textfarbe des Textes 1. Wert rot-wert, 2. Wert grün-wert, 3.Wert blau-wert TextOut ( hDCChild, 50, 100, szTextChild, strlen(szTextChild) ); //2Zahlen am Anfang sind Koordinaten wo Text anfangen soll, 3. Ziffer ist die Anzahl der Zeichen des c-stirngs EndPaint ( hWndChild, &psChild); //beendet das neu gestalten des ChildWindows //Settings Parent Window SetBkMode (hDCParent, TRANSPARENT); //setzt die Hintergrundfarbe des Textes auf Transparent SetBkColor( hDCParent, RGB(255, 0, 0) ); // funktioniert wenn die SetbkMode(hDC, TRANSPARENT); nich vorhanden ist, ändert Hintergrundfarbe des Textes 1. Wert rot-wert, 2. Wert grün-wert, 3.Wert blau-wert SetTextColor (hDCParent, RGB(0, 0, 0) );//ändert Textfarbe des Textes 1. Wert rot-wert, 2. Wert grün-wert, 3.Wert blau-wert TextOut ( hDCParent, 10, 10, szTextParent, strlen(szTextParent) ); //2Zahlen am Anfang sind Koordinaten wo Text anfangen soll, 3. Ziffer ist die Anzahl der Zeichen des c-stirngs EndPaint ( hWnd, &psParent); //beendet das neu gestalten des ParentWindows break; case WM_DESTROY: //Fenster Ende (Wenn auf das X-geklickt wird if(hWnd == hWndParent) { PostQuitMessage(0); } break; default: return DefWindowProc ( hWnd, msg, wParam, lParam); } return 0; } bool InitWndClassEx ( WNDCLASSEX *WndClassEx , HINSTANCE hInstance, const char *szClassName) //Funktion mit Defaultwerten für zB ChildWindows { WndClassEx->cbSize = sizeof( *WndClassEx); WndClassEx->style = NULL; WndClassEx->lpfnWndProc = (WNDPROC)WndProc; // hWnd -> CreateWindow (szClassName ) -> WndClass. WndClassEx->cbClsExtra = NULL; WndClassEx->cbWndExtra = NULL; WndClassEx->hInstance = hInstance; WndClassEx->hIcon = LoadIcon( NULL, IDI_WARNING); //Icon WndClassEx->hCursor = LoadCursor( NULL,IDC_ARROW); //Cursor WndClassEx->hbrBackground = (HBRUSH) GetStockObject ( WHITE_BRUSH) ; //Fensterfarbe WndClassEx->lpszMenuName = NULL; WndClassEx->lpszClassName = szClassName; // C-String WndClassEx->hIconSm = LoadIcon (NULL, IDI_APPLICATION); if ( !RegisterClassEx ( WndClassEx )) {MessageBox ( NULL, "Register Class failed", "Error", MB_OK); return false; } }
Ähnliche Themen
-
ChildWindow im ChildWindow
Von Blackhawk50000 im Forum .NET WPF & SilverlightAntworten: 4Letzter Beitrag: 31.08.11, 20:49 -
C++ ChildWindow Problem
Von Binär10010111 im Forum C/C++Antworten: 2Letzter Beitrag: 01.03.08, 11:45 -
ATL Childwindow -> Vollbildmodus
Von Shadow im Forum VisualStudio & MFCAntworten: 4Letzter Beitrag: 25.04.06, 11:18 -
Titelleiste von ChildWindow
Von SeeSharpNewBee im Forum .NET ArchivAntworten: 2Letzter Beitrag: 01.08.05, 13:53 -
[MDI] schnelles Zeichnen in ChildWindow
Von basd im Forum VisualStudio & MFCAntworten: 2Letzter Beitrag: 17.02.04, 23:31



3Danke


Zitieren

Login






