Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Superclass Problem

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
28.12.2005, 14:52 Uhr
A-l-e-x



Ich will den Button ableiten und nebenbei noch Extra Daten speichern. Irgendwie kriege ich es nicht hin...


C++:
HINSTANCE hInstance;
WNDPROC OldWndProc;

//
struct BTN
{
    int x;
    int y;
    int z;
};

// ...
void CreateImageButtonClass(HINSTANCE hInst)
{
    WNDCLASSEXL wc;
    
    hInstance = hInst;
    
    wc.cbSize = sizeof(WNDCLASSEX);
    GetClassInfoEx(NULL,"BUTTON", &wc);
    OldWndProc = wc.lpfnWndProc;
    wc.lpfnWndProc = (WNDPROC)BtnProc;
    wc.hInstance = hInst;
    wc.lpszClassName = "NEU_BUTTON";
    wc.cbWndExtra = 4;            // Platz für einen Zeiger...
    
    RegisterClassEx(&wc);
}

LONG WINAPI BtnProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    LPVOID sav;

    switch(uMsg)
    {
    case WM_CREATE:
        sav = HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,sizeof(BTN));
        SetWindowLong(hWnd,0,sav);
        break;
    case WM_DESTROY:
        sav = GetWindowLong(hWnd,0);
        HeapFree(GetProcessHeap,NULL,sav);
    default:
        return CallWindowProc(OldWndProc, hWnd, uMsg, wParam, lParam);
    }
    return CallWindowProc(OldWndProc, hWnd, uMsg, wParam, lParam);
}



Warum kann ich nicht SetWindowLong(...) verwenden? Oder wie speichere ich richtig meine zusätzlichen Daten?

mfg A-l-e-x
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
28.12.2005, 15:24 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Klar klappt das nicht. Wieso übergibst du auch eine 0 als zweiten Parameter an SetWindowLong?
Da muss GWL_USERDATA hin...
 
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: