WinApi kontrolka nie obsluguje komunikatów

0

Witam. Tworzę wlasną kontrolkę ScrollBar i mam pewien kłopot. Mianowicie po rejestracji kontrolki jako klasa "gSB" każde okno stworzone na podstawie tej klasy powinno wysyłać komunikaty od siebie pochodzące do procedury

 LRESULT CALLBACK PROC_SCROLLBAR( HWND hwnd, UINT mesg, WPARAM wParam, LPARAM lParam );

.
Również wskaźnik na strukturę, jaką według

 struct SUWAK *wsk = (struct SUWAK *)malloc(sizeof(SUWAK));
    wsk->obraz = bitmapa;
    wsk->maska = CreateBitmapMask( bitmapa, Transparent );
    wsk->kontekst = CreateCompatibleDC(NULL);

    HWND hTmp = CreateWindowEx( 0, Klasa, NULL, WS_POPUP, 0, 0, 0, 0, NULL, NULL, *hInstance, NULL );

    // zapamietanie kontekstu i bitmap w dodatkowej pamięci okna
    SetClassLong( hTmp, 0,( LONG ) wsk );

powinno posiadać każde okno tej klasy zawsze jest równa NULL (co sprawdzam w komunikacie WM_PAINT w WindowProcedure). Nie wiem, czy nie robie błędu, gdyż w komunikacie WM_CREATE mojej kontrolki pobieram strukturę funkcją

GetClassLong(hwnd, 0)

i przypisuję ją dla kontrolki funkcją SetWindowLong(hwnd, 0, (LONG)wsk);

. W załącznikach umieszczam plik main.cpp oraz stale.h Przez całą noc szukałem błędu i dziś rano dopadłem się do neta ;] Naprowadźcie mnie chodź troszkę. (Do nauczenia się tego korzystałem z kursu http://www.google.pl/url?sa=t&rct=j&q=wlasne%20kontrolki%20cz2%20winapi&source=web&cd=1&cad=rja&ved=0CCAQFjAA&url=http%3A%2F%2Fcpp0x.pl%2Fkursy%2FKurs-WinAPI-C%2B%2B%2FKontrolki%2FWlasne-kontrolki-cz-2%2F211&ei=nixtUI2NLI7XsgaH_4DoBQ&usg=AFQjCNERxgbLouDYhejVqoA3-cE1yqVpvQ)
0

case WM_CREATE:{
struct SUWAK *wsk_klasa = (struct SUWAK *)GetClassLong(hwnd, 0);

case WM_DESTROY:{
struct SUWAK *wsk = (struct SUWAK *)GetWindowLong(hwnd, 0);

Zdecyduj się, czy ClassLong czy WindowLong.

Przy WindowLong trzeba podać GWLP_USERDATA a nie 0.

0

A jak za pomocą SetClassLong() przypiszę do klasy ową strukturę to po tworzeniu funkcją CreateWindowEx() jakiejś kontrolki tej klasy każda z nich będzie wskazywać na inną strukturę czy na strukturę tę samą? Bo mi zależy, aby każdy Scrollbar jaki stworzę posiadał oddzielną strukturę na własne potrzeby.

Moglibyście mnie skierować linkiem do funkcji SetClassLong na MSDN ? Bo nie moge ogarnąć tej strony... ;]

1 użytkowników online, w tym zalogowanych: 0, gości: 1