Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Programm mit grafischer Oberfläche

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
31.12.2005, 10:52 Uhr
~Vektor
Gast


Hallo,

ich habe die Aufgabe bekommen, ein Programm mit einer grafischen Benutzeroberfläche zu programmieren.
Das Fenster hat zwei int-Eingabefelder und ein Commandbutton. Beim klick auf den Button sollen die beiden Werte aus den Feldern multipliziert werden. Ein neues Fenster (KEINE MESSAGEBOX) mit einem int-Feld und Button soll sich öffnen und im Feld soll das Ergebnis stehen. Beim klick auf den Button wird das Programm beendet.

Da ich bis jetzt eigentlich fast nur erfahrung mit der Programmierung in der Konsole habe, möchte ich von Euch wissen, wie ihr ein solches Programm erstellen würdet. (Welchen Compiler, IDE?, ...)

Viele Grüße, guten Rutsch,

Vektor
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
31.12.2005, 10:56 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,

Zitat von ~Vektor:

ich habe die Aufgabe bekommen, ein Programm mit einer grafischen Benutzeroberfläche zu programmieren.


und das zu Silvester?
Gegenfrage: Was für 'nen Compiler hast Du zur Verfügung?
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
31.12.2005, 11:08 Uhr
~Vektor
Gast


Ne, Aufgabe ist schon bisschen älter.
Ich habe Dev-C++ als Compiler.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
31.12.2005, 12:12 Uhr
Oliver
S2-Pixelgeneral


WinAPI
--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
31.12.2005, 12:29 Uhr
RedEagle



www.win-api.de/
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
31.12.2005, 18:12 Uhr
~Vektor
Gast


Ich glaube, das bringt mich nicht viel weiter...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
01.01.2006, 12:37 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
Du wirst hier kaum jmd. finden, welcher Deine Aufgaben für Dich erledigt.
Ich nehme an die Dev C++ IDE wird sicherlich ein Grundgerüst erzeugen. Da hast Du erst mal einen Anfang. Als nächstes erzeugst Du zwei Edit Ctrl. Den Ansatz findest Du im folgenden für ein Edit und Button. K.A. ob der Dev Compiler das so nimmt:

C++:
#include <windows.h>

LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);

char szClassName[ ] = "WindowsApp";

int WINAPI WinMain (HINSTANCE hThisInstance,
                    HINSTANCE hPrevInstance,
                    LPSTR lpszArgument,
                    int nStil)

{
    HWND hwnd;              
    MSG messages;  
    WNDCLASSEX wc;

    wc.hInstance = hThisInstance;
    wc.lpszClassName = szClassName;
    wc.lpfnWndProc = WindowProcedure;      
    wc.style = CS_DBLCLKS;  
    wc.cbSize = sizeof (WNDCLASSEX);

    wc.hIcon = LoadIcon (NULL, IDI_APPLICATION);
    wc.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
    wc.hCursor = LoadCursor (NULL, IDC_ARROW);
    wc.lpszMenuName = NULL;                
    wc.cbClsExtra = 0;                  
    wc.cbWndExtra = 0;                    
  
    wc.hbrBackground = (HBRUSH) COLOR_BACKGROUND;

  
    if (!RegisterClassEx (&wc))
        return 0;

   /* Anwendungsfenster */
    hwnd = CreateWindowEx (
           0,                
           szClassName,        
           "Windows App",      
           WS_OVERLAPPEDWINDOW,
           CW_USEDEFAULT,      
           CW_USEDEFAULT,      
           600,                
           400,                
           HWND_DESKTOP,        
           NULL,                
           hThisInstance,      
           NULL                
           );

    ShowWindow (hwnd, nStil);

    while (GetMessage (&messages, NULL, 0, 0))
    {
      
        TranslateMessage(&messages);
        
        DispatchMessage(&messages);
    }

    return messages.wParam;
}



LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    static HWND hwndButton;
    static HWND hwndEdit;
    char *bfEdit = NULL;
    switch (message)                  
    {
        case WM_CREATE:
            /* Button erzeugen */
             hwndButton = CreateWindow(  "button",
                                  "Berechne",
                                  WS_CHILD | WS_VISIBLE,
                                  490, 10, 100, 20,
                                  hwnd,
                                  NULL,
                                  ((LPCREATESTRUCT) lParam) -> hInstance,
                                  NULL);
            /* Eingabe Ctrl erzeugen */
             hwndEdit = CreateWindowEx(WS_EX_CLIENTEDGE,
                                   "edit",
                                   bfEdit,  
                                   WS_CHILD | WS_VISIBLE ,
                                   10, 10, 100, 20,
                                   hwnd,
                                   NULL,
                                   ((LPCREATESTRUCT) lParam) -> hInstance,
                                   NULL);
             break;
        case WM_SIZE:
              break;
        case WM_DESTROY:
            PostQuitMessage (0);      
            break;
        default:                    
            return DefWindowProc (hwnd, message, wParam, lParam);
    }

    return 0;
}



Bearbeitung von Uwe:
Fehler beseitigt, war heut Morgen noch nicht fit!

--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 01.01.2006 um 17:36 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
01.01.2006, 17:21 Uhr
mischa
Fragender


DEV c++ unterschtüzt nicht alle winapi funktionen ist warscheinlich zu alt
besorg dir code blocks ist free und relativ neu also winapi läuft da ohne probleme
winapi ist relativ schwer wenn du es gescheit machen willst kauf dir ein buch
--
Latein Unterricht ist die spätere Rache der Römer an den Germanen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
01.01.2006, 18:59 Uhr
Reyx
IT-fetischistischer Wurstsalat mit rostigem Berghorn
(Operator)


Währe mir neu, da afaik sowohl DevC++ als auch Code::Blocks beide auf MinGW basieren.

Und das DevC++ zu alt währe, habe ich auch noch nicht gehört.

@Vektor
Wenn du DIE WinAPI-IDE schlechthin suchst (zumindest rein wirtschaftlich betrachtet ), dann schau mal hier vorbei: http://msdn.microsoft.com/vstudio/express/visualc/default.aspx

Dieser Post wurde am 01.01.2006 um 19:00 Uhr von Reyx editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: