Probleme mit DefSubclassProc



  • hallo,
    ich wollte mal versuchen eine subclass procedur mit SetWindowSubclass zu erstellen. Mein problem ist, das mein compiler motzt

    error C3861: "SetWindowSubclass": Bezeichner wurde nicht gefunden.
    error C3861: "DefSubclassProc": Bezeichner wurde nicht gefunden.

    ich hab die entsprechende header (commctrl.h) in mein project und die lib wie folgt eingebunden.

    #pragma comment(lib,"comctl32.lib")
    

    meine comctl32.dll version ist 5.82.2900.2180, und im includeverzeichniss steht das PSDK (wo die commctrl.h zu finden ist die diese funktionen beinhaltet)an oberster stelle, wo liegt denn da das Problem?


  • Mod

    Du hast gelesen was zu SetWindowSubclass in der Doku steht?

    Minimum DLL Version comctl32.dll version 5.8 or later
    Custom Implementation No
    Header commctrl.h
    Import library comctl32.lib
    Minimum operating systems Windows XP

    Du hast also NTDDI_VERSION korrekt gesetzt?
    http://msdn.microsoft.com/en-us/library/aa383745(VS.85).aspx

    Was willst Du denn machen?
    Ein einfacher klassischer Subclass get mit SetWindowLong!



  • Vielleicht musst du die commctrl.h noch extra per #include inkludieren.



  • hi martin,
    ja ich hab die msdn dazu gelesen, und nachdem eben die fehlermeldungen kamen hab ichs halt mal mit Custom Implementation versucht...

    von den NTDDI_VERSION hab ich noch nie was gehört, hab mir das mal durchgelesen, aber so richtig schlau werd ich nicht daraus!
    was muss ich da in meinem project setzen bzw. einstellen 😕

    ich weis das mit SetWindowLong(Ptr) der klassische Subclass geht, aber ich wollt das mal mit SetWindowSubclass probieren, auch aus dem grund heraus, da ich dadurch keine membervariable für CallWindowProc mehr brauch. das würde ja
    DefSubclassProc dann machen.


  • Mod

    Ich benutzte klassisches Subclass nur noch mit ATL bzw. CSubclassWnd (die Lascia) oder CHookWnd (Naughter).

    Warum sich um so einen Unfug kümmern, wenn es Klassen gibt die das perfekt machen. Gerade die Naughter und die ATL Version sind genial, weil Sie eigene Thunks verwenden.



  • 👍 ok danke für den hinweis....

    verbessere dich ja ungern, aber er schreibt sich DiLascia 🙄

    ------------->duck und wech->>>>>>>>>>>


Anmelden zum Antworten