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)