Ksztalty kontrolek w WinAPI

0

Wie moze ktos, jak zrobic aby przy programowaniu w API elementom (np. przyciskom) nadawac inne ksztalty tak jak w VCL? W VCL robi sie to komenda SetWindowRGN({uchwyt_czegostam}, {region}, true/false) i jest ok. Ale jak w API tak zrobie, to przycisk ma domyslny ksztalt (prostokacik, a nie ten, co ja mu nadalem), z tym, ze jak chce kliknac na przezroczystym (ukrytym) miejscu to wtedy nie reaguje. Co zrobic aby bylo jak w VCL? Przy formie jest ok, ale z elementami nie dziala jak powinno. Moze trzeba jeszcze jakas komende dodac?

0

Win32SDK!!!!!

The SetWindowRgn function sets the window region of a window. The window region determines the area within the window where the operating system permits drawing. The operating system does not display any portion of a window that lies outside of the window region

int SetWindowRgn(
HWND hWnd, // handle to window whose window region is to be set
HRGN hRgn, // handle to region
BOOL bRedraw // window redraw flag
);

Parameters

hWnd

Handle to the window whose window region is to be set.

hRgn

Handle to a region. The function sets the window region of the window to this region.
If hRgn is NULL, the function sets the window region to NULL.

bRedraw

Boolean value that specifies whether the operating system redraws the window after setting the window region. If bRedraw is TRUE, the operating system does so; otherwise, it does not.
Typically, you set bRedraw to TRUE if the window is visible.

Return Values

If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero.

0

tyle to ja wiem. mi chodzi o to, ze jak zmienie w api ksztalt kontrolki (buttona) to ona nadal ma ten sam ksztalt prostokata, tyle tylko, ze jak chce kliknac w tym miejscu, co ma byc niewidoczne, to program nie reaguje, ale to miejsce jest widoczne. w vcl jest wszystko ok; zastosuje ksztalt i te miejsca co chce sa niewidoczne. dodam tylko, ze okno (jak i kontrolki) tworzone sa z biblioteki

0

Może zapomniałeś o trzecim parametrze SetWindowRgn(), który mówi, czy kontrolka ma być odrysowana?

0

nie, to jest zawsze na true. nie wiem juz co zrobic. VCL jest do d... bo bez pot<ort>żeby</ort> mam 300 kb, a api jest toporne w uzyciu. najlepsze jest to, ze w vcl wszystko dziala jak nalezy...
ma ktos moze jakis inny pomysl jak by zastosowac ksztalt do kontrolki utworzonej w api?

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