Знаю что на эту тему ужэ было много разговоров но на свой вопрос ответа ненашёл...
Кароче я хочу сделать окно нестандартной формы (окно WS_POPUP...на него красивая картинка с закруглёнными углами...весёлым фоном...ну кароче)...Самая главная загвоздка что помимо этого мне нужно чтоб это окошко ещё было полупрозрачным...Кароче к делу:
hwnd=CreateWindowEx(classname, wndname,WS_POPUP ,x,y, cx,acy,NULL,NULL,hinst, NULL);
SetWindowLong(hwnd,GWL_EXSTYLE,GetWindowLong(hwnd, GWL_EXSTYLE) | WS_EX_LAYERED);
SetLayeredWindowAttributes(hwnd, RGB(255,255,255), 100, LWA_COLORKEY|LWA_ALPHA);
создаём "слоёное" окошко ... ставим цвет маски и значение прозрачности...и соответственные флаги через "или"...по сути всё ок!
далее в обработчике WM_PAINT пишу...предварительно сделав GdiplusStartup(&gditok, &gsi, NULL):
Окошко получается полупрозрачным...но углы не округлились...то есть LWA_COLORKEY не сработал...
если в SetLayeredWindowAttributes убрать LWA_ALPHA то углы становятса круглыми...но окошко соответственно непрозрачным...я уж было думал что это невозможно...НО...если в WM_PAINT написать:
тачнее работает...но раздельно...либо прозрачно с углами...либо с гладкими углами но непрозрачно...
так в чём же дело???объясните кто нибудь...а лутше расскажите как мне быть...
Re: GDI+.что я делаю не так?
От:
Аноним
Дата:
22.10.08 10:44
Оценка:
Здравствуйте, Hypertonyc, Вы писали:
H>Кароче я хочу сделать окно нестандартной формы (окно WS_POPUP...на него красивая картинка с закруглёнными углами...весёлым фоном...ну кароче)...Самая главная загвоздка что помимо этого мне нужно чтоб это окошко ещё было полупрозрачным...
Может, проще будет изменить регион окна перед всем этим (с прямоугольного на нужный), чем пытаться добиться и полупрозрачности, и цветового ключа? Тем более, что при этом еще и mouse hit test должен заработать "как надо".
Здравствуйте, Hypertonyc, Вы писали:
H>ТО ВСЁ НАЧИНАЕТ РАБОТАТЬ ТАК КАК МНЕ НУЖНО!!!ЗНАЧИТ ЭТО ВОЗМОЖНО...но я хочу через GDI+...ибо она умеет JPEG,PNG...и ещё много много всего...
В проблему сильно невникал, но осмелюсь предложить взамест GDI+ — HtmlLayout
Она тоже умеет JPEG,PNG и много чего еще ...
Сайт здесь
Форум здесь