Сейчас на форуме: hgdagon, asfa, bartolomeo (+4 невидимых) |
![]() |
eXeL@B —› Программирование —› Прозрачность окна |
Посл.ответ | Сообщение |
|
Создано: 27 января 2007 21:08 · Личное сообщение · #1 Пишу кейген на Делфях. Не могу организовать прозрачность окна. Вот какой код получился: if uMsg = WM_INITDIALOG then begin if SetWindowLong(hWnd, GWL_EXSTYLE, GetWindowLong(hWnd, GWL_EXSTYLE) or WS_EX_LAYERED) <> 0 then begin SetLayeredWindowAttributes(hWnd, 0, $CC, LWA_ALPHA); end; end; Окно не становится прозрачным, может кто знает что я делаю не так. ----- xchg dword [eax], eax ![]() |
|
Создано: 27 января 2007 22:13 · Личное сообщение · #2 |
|
Создано: 27 января 2007 23:48 · Личное сообщение · #3 v0id2k Когда-то скачивал, кто автор не помню. См. аттач. ![]() ----- Сколько ни наталкивали на мысль – все равно сумел увернуться ![]() |
|
Создано: 28 января 2007 00:36 · Личное сообщение · #4 |
|
Создано: 28 января 2007 00:51 · Личное сообщение · #5 MACKLIA Я пишу на API. Создание формы, кнопок и всего остального осуществляется посредствами WinAPI. overwriter Дело не в цвете. Щас порверял, сообщение WM_INITDIALOG вобще не инициализируется. В чем дело не пойму. При создании формы через файлы ресурсов (.rc) все отлично работает, а если все делать в программе - не фурычит. ----- xchg dword [eax], eax ![]() |
|
Создано: 28 января 2007 04:35 · Поправил: Bitfry · Личное сообщение · #6 |
|
Создано: 28 января 2007 07:02 · Личное сообщение · #7 v0id2k пишет: if uMsg = WM_INITDIALOG then begin if SetWindowLong(hWnd, GWL_EXSTYLE, GetWindowLong(hWnd, GWL_EXSTYLE) or WS_EX_LAYERED) <> 0 then begin SetLayeredWindowAttributes(hWnd, 0, $CC, LWA_ALPHA); end; end работает не везде.. лучеш поступить старым "дедовским" методом.. копируешь себе на окно часть экрана под ним.. и начинаешь копировать уже картинку своего кейгена поверх него с альфа-каналом..ммх метож старый.. ----- Тут не могла быть ваша реклама ![]() |
|
Создано: 28 января 2007 07:25 · Личное сообщение · #8 lord_Phoenix пишет: работает не везде.. лучеш поступить старым "дедовским" методом.. копируешь себе на окно часть экрана под ним.. и начинаешь копировать уже картинку своего кейгена поверх него с альфа-каналом..ммх метож старый.. ... не забывая перерисовывать его (окно) во время перетаскивания а если рисовать в окне волпапер, то получитсо клевый эфект аля халфлайф(2) ![]() |
|
Создано: 28 января 2007 08:21 · Личное сообщение · #9 |
|
Создано: 28 января 2007 08:36 · Личное сообщение · #10 AlexZ пишет: Да и у формы есть свойство прозрачности, если включить АльфаБленд. Юзайте VCL, или KOL на крайняк. ну, это я уже ворчу по поводу АПИ в ООП-языке с визуальной средой ;) все тот же SetLayeredWindowAttributes который не везде есть slip пишет: lord_Phoenix пишет: работает не везде.. лучеш поступить старым "дедовским" методом.. копируешь себе на окно часть экрана под ним.. и начинаешь копировать уже картинку своего кейгена поверх него с альфа-каналом..ммх метож старый.. ... не забывая перерисовывать его (окно) во время перетаскивания а если рисовать в окне волпапер, то получитсо клевый эфект аля халфлайф(2) угум-с ;) ----- Тут не могла быть ваша реклама ![]() |
![]() |
eXeL@B —› Программирование —› Прозрачность окна |