windows forms main-loop



  • Hallo Forums Mitglieder,

    ich bin Programmieranfänger und arbeite gerade in Microsoft Visual C++ 2008
    Express Edition mittels Windows Forms an einer graphischen
    Benutzeroberfläche
    für ein bereits erstelltes Programm. Dieses Programm benutzt eine
    selbst erstellte Bibliothek.
    Mein Problem liegt darin, dass ich das bestehende Programm (bzw. die
    Bibliothek) nicht in ein Programm, welches "Windows Forms" verwendet,
    einbinden kann.

    So sieht main() aus, welche von Windows Forms automatisch erstellt wird:

    #include "stdafx.h"
    #include "Form1.h"

    using namespace UdpPingGUI_test;

    [STAThreadAttribute]
    int main(array<System::String ^> ^args)
    {
    // Aktivieren visueller Effekte von Windows XP, bevor
    Steuerelemente erstellt werden
    Application::EnableVisualStyles();
    Application::SetCompatibleTextRenderingDefault(false);

    // Hauptfenster erstellen und ausführen
    Application::Run(gcnew Form1());
    return 0;
    }

    Früher gab es diese "main-loop" (da gab es keine Probleme mit dem
    Einbinden der Bibliothek - diese loop wurde einfach etwas modifiziert):

    while (GetMessage(&msg, NULL, 0, 0))
    {
    if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
    {
    TranslateMessage(&msg);
    DispatchMessage(&msg);
    }

    }
    return (int) msg.wParam;

    Hat vielleicht jemand eine Idee wie man Windows-Forms mit der "alten"
    main-loop zum Laufen bekommt?
    Wäre über jeden Rat dankbar
    mfG grisli



  • Wie du schon richtig zugeordnet hast ist das was du da programmierst (bzw. erstellen lassen hast) kein C++.

    Du musst bei "neues Projekt" auf "Win32-Konsolenanwendung" und dann auf der zweiten Seite des "Wizards" auf Windows-Anwendung" gehen, damit du wie üblich programmieren kannst.



  • Danke für die rasche Antwort habe es gleich ausprobiert und es hat super funktioniert.
    Entschuldigung für die späte Antwort, war so happy dass es funktioniert hat dass ich total vergessen habe mich zu bedanken.

    Danke nochmals und freundliche Grüße, grisli


Log in to reply