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
WinMainundmain? DasswWinMainbzw.WinMainein Muss für Programme mit GUI ist, basiert wahrscheinlich auf einen Missverständnis. Mitmainhast du zudem (normalerweise) noch die Konsole.hInstanceerhältst du per __ImageBase undiCmdShowper GetStartupInfo.hPrevInstanceist unnötig (Win16-Überbleibsel) undszCmdLineverwendest 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.