Форум — Ответы ( К темам )
? | Dr.Phoenix: Как сделать окно произвольной формы (напр. буквой Zю :) (12-12-2002 20:39:44) |
Расскажите, как делать красивые окна, а еще лучше покажите исходник с подробным описанием. Заоанее пасиба. | |
Владимир (12-12-2002 21:23:37) | |
Посмотрите на Форуме тему ? nike: Как делают такие формы, как, например, у mediaPlayer'a в WinMe? (30-11-2002 01:14:27) там это есть | |
Devnvd (13-12-2002 09:42:27) | |
Окно там как и везде прямоугольной формы. Если не верите, то сделайте так: В отработчике Hook'а WH_GETMESSAGE или WH_CALLWNDPROC, расположенного в DLL, сделайте окну player`а: SetWindowRgn(hWndHook,NULL,TRUE); То есть вся эта форма является всего лишь регионом, с которыми вы могли работать и в Win3.0. Только скорости машин тогда было маловато, чтобы подставить в качестве отображаемой, именно отображаемой(!), области регион. Создать регион можно с помощью разных функций: CreateRectRgn,CreateEllipticRgn,CreatePolygonRgn,... Вы можете комбинировать регионы с разными условиями: Сумма областей, вычетание из одной области другой, перекрытие областей,... с помощью CombineRgn. С помощью функции SetWindowRgn(hWndHook,hRgn,TRUE) вы можете оформить область согласно сделанному вами региону, но только в рамках прямоугольника окна. Если область будет выходить за эти рамки, то она прорисовываться не будет. | |
AndreyAGSoft (16-12-2002 13:10:13) http://andreyagsoft@andreyagsoft.narod.ru/ | |
CreateRGN SetWindowRGN *** GПодробнее на mail andreyagsoft@narod.ru |