Window.h in sequentiellem Code benutzen
-
Hallo,
kann ich in einem sequentiellen Code eine Windowsform erzeugen um mir
darauf Zwischenergebnisse anzeigen zu lassen?
Das Problem ist, dass mein Code schon sehr weit fortgeschritten ist und ich würde das jetzt gerne einbauen. Allerdings funktioniert das Programmieren in Ereignisgesteuerten Programmen ja etwas anders.Die erste Funktion muss ja ein int WINAPI WinMain(...) sein. Aber ich habe ja schon eine int main(...) Funktion. Außerdem wäre es unschön, wenn ich den ganzen Code von WinMain in meine Main Function schreiben müsste... kann ich diese Funktion dann irgendwie in ein Header packen?
Die Function sieht wie folgt aus:
//Header for Windows #ifndef WINDOWS_H #define WINDOWS_H #include <windows.h> #endif int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow){ HINSTANCE hProgram; HWND hWnd; MSG msg; WNDCLASSEX wndclass; char capname[10]; //Register window hProgram=hInstance; strcpy(capname, "W0"); wndclass.cbSize=sizeof(wndclass); wndclass.style=CS_HREDRAW|CS_VREDRAW; wndclass.lpfnWndProc=W0_WinProc; wndclass.cbClsExtra=0; wndclass.cbWndExtra=0; wndclass.hInstance=hProgram; wndclass.hIcon=NULL; wndclass.hCursor=LoadCursor(NULL, IDC_ARROW); wndclass.hbrBackground=CreateSolidBrush(RGB(00,200,200)); wndclass.lpszMenuName=capname; wndclass.lpszClassName=capname; wndclass.hIconSm=NULL; RegisterClassEx(&wndclass); hWnd=CreateWindow(capname, "Mesh Output W0", WS_OVERLAPPEDWINDOW, 100,100,400,300,NULL,NULL,hProgram,NULL); ShowWindow(hWnd, iCmdShow); while(GetMessage(&msg, NULL, 0, 0)){ TranslateMessage(&msg); //Subfunction DisparchMessage(&msg); //Subfunction } return msg.wParam; }
Diese soll nun wie folgt ausgeführt werden:
int main(){ /*Jede Menge Code ... ...*/ //Darstellung der aktuellen Werte einer iterativen Berechnung WinMain(); return 0;
-
Das Windowsprogramm könnte einen Thread starten, der den sequenziellen Code ausführt.
-
Weswegen brauchst du denn überhaupt
WinMain
undmain
? DasswWinMain
bzw.WinMain
ein Muss für Programme mit GUI ist, basiert wahrscheinlich auf einen Missverständnis. Mitmain
hast du zudem (normalerweise) noch die Konsole.hInstance
erhältst du per __ImageBase undiCmdShow
per GetStartupInfo.hPrevInstance
ist unnötig (Win16-Überbleibsel) undszCmdLine
verwendest du glücklicherweise nicht.
-
Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C (alle ISO-Standards) in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.