Neu in WinApi



  • Derartige Details kannst du im Petzold nachlesen, wenn es für Dich wichtig ist (ich habs im Moment nicht auf Lager). Klar ist, daß Fensterfunktionen immer CALLBACK sein müssen, aber nicht unbedingt LRESULT. BOOL o.ä. geht auch (bei vielen Dialogfunktionen wird BOOL CALLBACK gesetzt). CALLBACK ist demnach ein Attribut für den Rückgabetyp. Der Zeiger auf die Funktion heißt lpfn (long pointer to Function), z. B. bei wc.lpfnWndProc.



  • Kannst du mir die URL zu Petzold pasten?



  • Ein gutgemeinter Rat:
    Die WINAPI ist mMn sehr umständlich und alles andere als produktiv. Bevor Du dich hier ewig lang mit dem Zeug rumschlägst, würde ich dir eher empfehlen eine GUI-API wie wxWidgets, QT oder WinGTK zu verwenden. Wobei ich zu wxWidgets tendieren würde. Das Programmieren damit geht verdammt schnell von der Hand und ist saueinfach, wenn man den Einstieg mal geschafft hat. Ausserdem hat wx eine sehr gute Dokumentation.
    Einfache Programme sind damit recht fix geschrieben und komplexe Programme sind auch kein Problem. Vor allem wenns dann mal ans Enwtickeln eigener Widgets (Buttons etc) geht, ist diese API Gold wert.
    rya.



  • Ich will aber erst das meißte der WinApi beherrschen,
    dann die MFC lernen und danach GUI.
    Frage: Wie bekomme ich jetzt ein TextBox Control in
    das Hauptfenster?



  • sjBlack schrieb:

    Kannst du mir die URL zu Petzold pasten?

    Ist keine URL, sondern eine ISBN:

    http://www.amazon.de/Windows-Programmierung-m-CD-ROM-Charles-Petzold/dp/3860634879

    😮 Das Buch ist ja um ein Drittel billiger als vor 2 Jahren...

    Ich will aber erst das meißte der WinApi beherrschen,
    dann die MFC lernen und danach GUI.

    Sehr vernünftig 👍 💡 . Aber nur zur Klärung: GUI ist der Oberbegriff für "Graphical User Interface". Also ist die WinAPI ein GUI. wxWidgets, GTK, MFC u. a. sind objektorientierte Kapselungen der WinAPI, enthalten aber nicht die gesamte API, sondern nur die wichtigsten Funktionen. Oft genung muß man trotz MFC auf das "Rohprodukt" zurückgreifen. Also nicht irre machen lassen ⚠



  • mfc kann ich mit dev-c++ vergessen.
    Ich weiß jetzt aber immer noch nicht, wie ich eine TextBox ins Fenster krieg!!!
    Für visual basic find ich bei Google jeden Scheiß, aber für die WinApi
    kann ich tagelang googlen und weiß noch immer nicht, wie ich eine
    simple TextBox ins Fenster bekomme!



  • "CALLBACK" hat nichts großartig zu sagen, dahinter steckt (in der "windef.h"):

    #define CALLBACK    __stdcall
    

    ...und das gibt lediglich die Aufrufkonvention an.

    In der winuser.h findet man noch:

    typedef LRESULT (CALLBACK* WNDPROC)(HWND, UINT, WPARAM, LPARAM);
    

    WNDPROC (zu finden als Member von WNDCLASS oder WNDCLASSEX) ist demnach nichts anderes als ein Zeiger auf eine Funktion vom Typ

    LRESULT CALLBACK LustigerFunktionsname(HWND blupp, UINT bla, WPARAM bli, LPARAM blo)
    

    Textfeld erzeugen:

    HWND textWnd=CreateWindow("EDIT","blupp",WS_CHILD|WS_VISIBLE,10,10,200,20,HauptFensterHandle,NULL,hInstance,NULL);
    

    ...was die einzelnen Parameter einer WinAPI-Funktion sollen oder die Member einer Struktur kann man relativ gut in der msdn nachlesen.
    Sehr zu empfehlen ist auch die Doku im "Platform SDK" oder "Windows SDK" - Und zwar deshalb weil man da über den Index sehr schnell Funktionen etc. nachschlagen kann und weil die msdn-online wie ich finde kacken lahm ist 😉



  • http://msdn2.microsoft.com/de-de/default.aspx
    Wo? Sagt mir doch einer, wo????
    Wieso schmeißt mir imemr jeder die msdn an den Kopf?
    Sagt mir einer, wo ich auf dieser Seite
    nach Funktionen, structs und so weiter nachschlagen kann!!

    http://www.microsoft.com/germany/msdn/library/windows/default.mspx?mfr=true
    oder wenn ich hier nen Funktionsnamen eingebe, krieg ich
    ein paar Links zu Artikeln anderer Seiten, die nichts
    mit dem zutun haben, wonach ich suchte. 😡

    P.S.: Danke für die TextBox / EDIT



  • Tipp: google nach: "msdn2 Funktionsname"
    z.B. "msdn2 CreateWindow" ergibt als ersten Treffer:
    http://msdn2.microsoft.com/en-us/library/ms632679.aspx

    Windows Controls:
    http://msdn2.microsoft.com/en-us/library/bb773173.aspx



  • JAWOLL!!! Endlich! Dankesehr


Anmelden zum Antworten