GELÖST Fenster den Taschenrechner anpassen?

Diskutiere Fenster den Taschenrechner anpassen? im Programmierung Forum im Bereich Software Forum; Hi Leute, ich habe gestern in C++ einen Taschenrechner geschrieben und Kompliert. Nun zu meiner Frage: Ich möchte meinen Taschenrechner einen...
S

Simon M.

Threadstarter
Mitglied seit
15.06.2009
Beiträge
271
Hi Leute,

ich habe gestern in C++ einen Taschenrechner geschrieben und Kompliert.

Nun zu meiner Frage:

Ich möchte meinen Taschenrechner einen Fenster anpassen, da ich nur C++ kann und kein C++ GUI, wollte ich nachfragen wie man so ein Fenster anpassen kann.

Könntet ihr mir bisschen darüber Erzählen :D ?

Danke


// Ich habe bei mir in Dev-C++ diesen Code für einen Fenster gefunden, aber ich weis jetzt leider nicht wo der Code, an welcher Stelle, hin muss.

Code:
#include <windows.h>

/*  Declare Windows procedure  */
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);

/*  Make the class name into a global variable  */
char szClassName[ ] = "WindowsApp";

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

{
    HWND hwnd;               /* This is the handle for our window */
    MSG messages;            /* Here messages to the application are saved */
    WNDCLASSEX wincl;        /* Data structure for the windowclass */

    /* The Window structure */
    wincl.hInstance = hThisInstance;
    wincl.lpszClassName = szClassName;
    wincl.lpfnWndProc = WindowProcedure;      /* This function is called by windows */
    wincl.style = CS_DBLCLKS;                 /* Catch double-clicks */
    wincl.cbSize = sizeof (WNDCLASSEX);

    /* Use default icon and mouse-pointer */
    wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
    wincl.lpszMenuName = NULL;                 /* No menu */
    wincl.cbClsExtra = 0;                      /* No extra bytes after the window class */
    wincl.cbWndExtra = 0;                      /* structure or the window instance */
    /* Use Windows's default color as the background of the window */
    wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;

    /* Register the window class, and if it fails quit the program */
    if (!RegisterClassEx (&wincl))
        return 0;

    /* The class is registered, let's create the program*/
    hwnd = CreateWindowEx (
           0,                   /* Extended possibilites for variation */
           szClassName,         /* Classname */
           "Windows App",       /* Title Text */
           WS_OVERLAPPEDWINDOW, /* default window */
           CW_USEDEFAULT,       /* Windows decides the position */
           CW_USEDEFAULT,       /* where the window ends up on the screen */
           544,                 /* The programs width */
           375,                 /* and height in pixels */
           HWND_DESKTOP,        /* The window is a child-window to desktop */
           NULL,                /* No menu */
           hThisInstance,       /* Program Instance handler */
           NULL                 /* No Window Creation data */
           );

    /* Make the window visible on the screen */
    ShowWindow (hwnd, nFunsterStil);

    /* Run the message loop. It will run until GetMessage() returns 0 */
    while (GetMessage (&messages, NULL, 0, 0))
    {
        /* Translate virtual-key messages into character messages */
        TranslateMessage(&messages);
        /* Send message to WindowProcedure */
        DispatchMessage(&messages);
    }

    /* The program return-value is 0 - The value that PostQuitMessage() gave */
    return messages.wParam;
}


/*  This function is called by the Windows function DispatchMessage()  */

LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)                  /* handle the messages */
    {
        case WM_DESTROY:
            PostQuitMessage (0);       /* send a WM_QUIT to the message queue */
            break;
        default:                      /* for messages that we don't deal with */
            return DefWindowProc (hwnd, message, wParam, lParam);
    }

    return 0;
}

Ich habe mir den Code angeguckt und habe einiges Verstanden, aber immernoch nicht, wie und wo ich den Source Code einfügen soll :)

Danke
 
S

Simon M.

Threadstarter
Mitglied seit
15.06.2009
Beiträge
271
:huhu

Kennt sich keine mit C++ aus? :hm
Oder versteht ihr mich nicht? :hm
 
Erli

Erli

WB-TEAM / MOD
Team
Mitglied seit
16.08.2005
Beiträge
9.768
Standort
GB
Ich verstehe Dich sehr Gut (Die Verbindung ist einwandfrei :blush)
Allerdings bin ich nicht in der Lage bei dem Problem zu helfen da ich des programmieren nicht mächtig bin :sorry

Erli :coin
 
Alfiator

Alfiator

On Air
Mitglied seit
27.11.2008
Beiträge
21.551
Standort
Thüringen
Siehste,meckern hilft dann doch....:aah
 
M

ModellbahnerTT

Mitglied seit
20.04.2005
Beiträge
3.778
Alter
39
Nimm den Quellcode und passe ihn so an das du alle Schaltflächen hast die du haben willst inkl. der Messagehandler und füge dann die Logik dort ein.
 
S

Simon M.

Threadstarter
Mitglied seit
15.06.2009
Beiträge
271
Hmm..ich versuchs mal, aber noch ne frage :D

Meinst du es etwa so?

#include <windows.h>

/* Declare Windows procedure */
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);

/* Make the class name into a global variable */
char szClassName[ ] = "WindowsApp";

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

{
HWND hwnd; /* This is the handle for our window */
MSG messages; /* Here messages to the application are saved */
WNDCLASSEX wincl; /* Data structure for the windowclass */

/* The Window structure */
wincl.hInstance = hThisInstance;
wincl.lpszClassName = szClassName;
wincl.lpfnWndProc = WindowProcedure; /* This function is called by windows */
wincl.style = CS_DBLCLKS; /* Catch double-clicks */
wincl.cbSize = sizeof (WNDCLASSEX);

/* Use default icon and mouse-pointer */
wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
wincl.lpszMenuName = NULL; /* No menu */
wincl.cbClsExtra = 0; /* No extra bytes after the window class */
wincl.cbWndExtra = 0; /* structure or the window instance */
/* Use Windows's default color as the background of the window */
wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;

/* Register the window class, and if it fails quit the program */
if (!RegisterClassEx (&wincl))
return 0;

/* The class is registered, let's create the program*/
hwnd = CreateWindowEx (
0, /* Extended possibilites for variation */
szClassName, /* Classname */
"Windows App", /* Title Text */
WS_OVERLAPPEDWINDOW, /* default window */
CW_USEDEFAULT, /* Windows decides the position */
CW_USEDEFAULT, /* where the window ends up on the screen */
544, /* The programs width */
375, /* and height in pixels */
HWND_DESKTOP, /* The window is a child-window to desktop */
NULL, /* No menu */
hThisInstance, /* Program Instance handler */
NULL /* No Window Creation data */
);

/* Make the window visible on the screen */
ShowWindow (hwnd, nFunsterStil);

/* Run the message loop. It will run until GetMessage() returns 0 */
while (GetMessage (&messages, NULL, 0, 0))
{
/* Translate virtual-key messages into character messages */
TranslateMessage(&messages);
/* Send message to WindowProcedure */
DispatchMessage(&messages);
}


/* The program return-value is 0 - The value that PostQuitMessage() gave */
return messages.wParam;
}


/* This function is called by the Windows function DispatchMessage() */

LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message) /* handle the messages */
{
case WM_DESTROY:
PostQuitMessage (0); /* send a WM_QUIT to the message queue */
break;
default: /* for messages that we don't deal with */
return DefWindowProc (hwnd, message, wParam, lParam);
}

return 0;
}

Wo es Rot ist, kommt da der Code hin?
Ich finde die Stelle nicht, da es viele Funktionen sind die für Message da sind!
 
J

juergen1

Mitglied seit
18.01.2009
Beiträge
2.434
Hallo,

ich will ja nichts sagen,
meinst Du nicht auch,
daß Du mit Problemen mit spezieller Programmierungssprachen
in speziellen Forums gehen müßtest, wo es ausschließlich um c++ geht.
So gibt es welche für visual basic, delphi, Pearl etc.
Hier geht es Hauptsächlich um Probleme die entweder Hardware oder
Software bedingt sind, also hier geht es darum den PC wieder so zum laufen
zu bringen, wie er vor dem Problem gelaufen war.
So zumindest ist es das Ziel von diesem Forum....
 
S

Simon M.

Threadstarter
Mitglied seit
15.06.2009
Beiträge
271
juergen1, du hast schon recht, aber ich habe Problem gelöst, indem ich auf einer Seite ein PDF gefunden habe und den genau so angepasst habe, mir wurde auch klar, das ich eigentlich dafür C++ GUI brauche!
 
J

juergen1

Mitglied seit
18.01.2009
Beiträge
2.434
Hallo,

c++ ist einer der schwierigsten Sprachen überhaupt,
und wenn diese dann noch Objektorientiert ist,
bist reif für die klapse.
Ich hab mal mit Delphi Spaßeshalber mal angefangen,
ist ziemlich Easy, es kann alles, es hat alles,
was will man mehr.
Dazu gibt es Plug-Ons, zusätzliche Befehle, die die Arbeit zwar erleichtern,
aber notwendig sind diese nicht, denn diese Befehle kann man per Unterprogramm programmieren und im eigentlichen Programm eingebunden werden....
Hat zwar nichts mit dem thread hier zu tun, wollts nur mal erwähnen.
Ein Taschenrechner ist mit Delphi wesentlich schneller zu programmieren,
und Fehler erkennt man schon auf dem ersten Blick, im Quelltext.
 
Thema:

Fenster den Taschenrechner anpassen?

Fenster den Taschenrechner anpassen? - Ähnliche Themen

  • Fenster und Programme öffnen sich selbstständig

    Fenster und Programme öffnen sich selbstständig: Hallo, seit einiger Zeit öffnen sich auf meinem Rechner Fenster oder Programme von alleine. Dies passiert während ich den Computer benutze...
  • Windows 10 - nach Ruhestand im gleichen Fenster weiterarbeiten

    Windows 10 - nach Ruhestand im gleichen Fenster weiterarbeiten: Wenn mein ThinkPad mit Windows 10 nach 5 Minuten in den Ruhezustand geht und ich ihn wieder aktiviere (weiterarbeite) kommt jedes Mal Microsoft...
  • schwarze fenster erscheinen und verschwinden blitzschnell nach start

    schwarze fenster erscheinen und verschwinden blitzschnell nach start: mehrere kleiner fenster erscheinen und verschwinden blitzschnell nach start des laptop . das ist mir neu . was kann das sein . es sind schwarze...
  • Fenster in Windows 7 oder Windows 10 mit Tastenkombinationen ansteuern - So einfach geht es!

    Fenster in Windows 7 oder Windows 10 mit Tastenkombinationen ansteuern - So einfach geht es!: Komplette und somit komplexe Listen für Tastenkombinationen aller Art gibt es immer wieder, aber wenn man dann doch Funktionen für etwas...
  • Fenster IMMER maximiert öffnen?

    Fenster IMMER maximiert öffnen?: Irgendwie ärgert mich mein Windows eben mit den Windows, denn die sind immer klein und selbst wenn ich sie maximiere sind sie das nächste mal...
  • Ähnliche Themen

    Oben