Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Sinnlose ERWEITERUNG

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
14.04.2006, 16:07 Uhr
ref



Manchmal gibt es komplikationen die gar nicht nötig sind, z.b. ich verstehe nicht
warum soll der konstruktion von WNDCLASSEX so geschreiben werden :




C++:
WNDCLASSEX wndClass;                                   // WNDCLASSEX Struktur

    // Struktur initialisieren
    wndClass.cbSize        = sizeof(WNDCLASSEX);           // Groesse angeben (nie vergessen!)
    wndClass.style         = CS_DBLCLKS | CS_OWNDC |
                             CS_HREDRAW | CS_VREDRAW;      // Standard Stile
    wndClass.lpfnWndProc   = WindowFunc;                   // Die Callback Funktion angeben

    wndClass.cbClsExtra    = 0;                            // Zusaetzliche Angaben, wird nicht benoetigt
    wndClass.cbWndExtra    = 0;                            // Zusaetzliche Angaben, wird nicht benoetigt
    wndClass.hInstance     = hInstance;                    // Anwendungsinstanz

    wndClass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);  // Weisser Pinsel
    wndClass.hCursor       = LoadCursor(NULL, IDC_ARROW);  // Normaler Cursor
    wndClass.lpszMenuName  = NULL;                         // Das Fenster hat kein Menue
    wndClass.lpszClassName = "WindowClass";                // Der Name der Klasse
    wndClass.hIcon         = LoadIcon(NULL, IDI_WINLOGO);  // Windows Logo
    wndClass.hIconSm       = LoadIcon(NULL, IDI_WINLOGO);  // Windows Logo

    RegisterClassEx(&wndClass);



WENN MAN EINFACH SO SCHREIBEN KANN:


C++:
WNDCLASSEX wndClass=
    {
    sizeof(WNDCLASSEX),
    CS_DBLCLKS | CS_OWNDC|
    CS_HREDRAW | CS_VREDRAW,      // Standard Stile
    WindowFunc,
    0,                            // Zusaetzliche Angaben, wird nicht benoetigt
    0,                            // Zusaetzliche Angaben, wird nicht benoetigt
    hInstance,                    // Anwendungsinstanz
    LoadIcon(NULL, IDI_WINLOGO),
    LoadCursor(NULL, IDC_ARROW),
    (HBRUSH)GetStockObject(WHITE_BRUSH),  // Weisser Pinsel
    NULL,                         // Das Fenster hat kein Menue
    "WindowClass",               // Der Name der Klasse
    LoadIcon(NULL, IDI_WINLOGO)
    };




es funktioniert wunderbar diese zweite Form , hier muss man nicht wndClass.style oder
wndClass.lpszMenuName schreiben , diese lpszMenuName übrigens kann mann nicht mit irgend
eine name ersetzen , oder statt style das wort styl schreiben , also muss diese
standard wörter im kopf behalten und genauso schreiben wenn mann der erste WNDCLASSEX
konstruktor benutzen will , warum also diese komplikation , hat das erste Form ein sinn
hat jemand ein erklärung????
--
Man kann ein Problem nicht mit der gleichen Denkweise lösen, mit der es erschaffen wurde. (Albert Einstein)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
14.04.2006, 16:47 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


und ich verstehe ehrlich gesagt dein Problem nicht
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
14.04.2006, 17:07 Uhr
Karldin Shinowa
Professional Noob


WNDCLASSEX ist ein struct mit den Eigenschaften

C++:
UINT cbSize;
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HINSTANCE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCTSTR lpszMenuName;
LPCTSTR lpszClassName;
HICON hIconSm;



du kannst wndClass also entweder gleich initialisieren(deine bevorzugte vorgehensweise) oder jeder Eigenschaft einzeln das richtige zuweisen.

is reine geschmackssache wie dus machst ich finde durch einzeln zuweisen erspart man sich Kommentare wie // Windows Logo auch da hIcon aussagekräftig ist
--
Ich will die Welt verbessern, doch Gott gibt mir nicht den Code.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
14.04.2006, 17:12 Uhr
ref



@Guybrush : die zweite WDNCLASSEX macht genau die selbe aufgabe wie der erste , es ist aber einfacher
finde ich , ich wollte nur wissen , ob ein bestimmte grund gibt wo man der erste konstruktor
von WNDCLASSEX benutzen muss?
--
Man kann ein Problem nicht mit der gleichen Denkweise lösen, mit der es erschaffen wurde. (Albert Einstein)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
14.04.2006, 17:17 Uhr
Karldin Shinowa
Professional Noob


struct is struct also nein. aber bei windows wär ich mir da nicht so sicher aber ich sag: kannst beides verwenden
--
Ich will die Welt verbessern, doch Gott gibt mir nicht den Code.
 
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: