Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Прозрачное диалоговое окно

4.3K
19 июля 2006 года
valeriy15
84 / / 03.04.2006
Как можно добиться прозрачности диалогового окна? Заранее благодарю.
16K
22 июля 2006 года
_МИХАИЛ_
6 / / 16.07.2006
Я не особый специалист по MVC++, но в C Builder и Delphi подобный эффект достикается вызовом двух API функций:

 
Код:
unsigned  char alha=100;
SetWindowLong(okno, GWL_EXSTYLE, WS_EX_LAYERED);
SetLayeredWindowAttributes(okno, 0,  alha, LWA_ALPHA);

где
okno это HWND окна, которое нужно сделать прозрачным;
alha - степень прозрачности от 0 (совсем не видно) до 255 (не прозрачно).
7.8K
22 июля 2006 года
DrCoder
106 / / 27.01.2006
[QUOTE=_МИХАИЛ_]Я не особый специалист по MVC++, но в C Builder и Delphi подобный эффект достикается вызовом двух API функций:

 
Код:
unsigned  char alha=100;
SetWindowLong(okno, GWL_EXSTYLE, WS_EX_LAYERED);
SetLayeredWindowAttributes(okno, 0,  alha, LWA_ALPHA);

где
okno это HWND окна, которое нужно сделать прозрачным;
alha - степень прозрачности от 0 (совсем не видно) до 255 (не прозрачно).[/QUOTE]
небольшую поправочку внесу, -перед вызовом SetWindowLong необходимо считать все флажки расширенного стиля окна функцией GetWindowLong, либо, если все стили заведомо известны прогером, перечислить их на месте вызова
25K
26 декабря 2006 года
Ostap
2 / / 26.12.2006
:(
SetWindowLong(MyHwnd, GWL_EXSTYLE, GetWindowLong(MyHwnd,GWL_EXSTYLE) | WS_EX_TRANSPARENT);
SetLayeredWindowAttributes(MyHwnd, 0, 100 ,0x00000002);
Виникає помилка:
error LNK2001: unresolved external symbol _SetLayeredWindowAttributes

а коли вказую LWA_ALPHA

SetLayeredWindowAttributes(MyHwnd, 0, 100 ,LWA_ALPHA);
помилка:unresolved external symbol _SetLayeredWindowAttributes не зявляється, зявляється інша-Пише невідомий ідентифікатор LWA_ALPHA
VC6++,winXP,windows.h підєднаний,win32 dll project
Порадьте щось.
398
26 декабря 2006 года
Alexandoros
630 / / 21.10.2005
User32.lib подключен?
63
26 декабря 2006 года
Zorkus
2.6K / / 04.11.2006
Цитата: Alexandoros
User32.lib подключен?


Так он всегда сам линкуется, в MSVS.

5.9K
27 декабря 2006 года
Zushenskiy
161 / / 29.06.2006
Код:
#define _WIN32_WINNT 0x0501//самым первым
// Windows Header Files:
#include <windows.h>
/*
твой код
*/

//допустим сдесь обработчик прозрачности
int iAlpha = 30 //тоесть 30 процентов   
SetWindowLong(hWnd, GWL_EXSTYLE, GetWindowLong(hWnd, GWL_EXSTYLE) | WS_EX_LAYERED);
SetLayeredWindowAttributes(hWnd, 0, (255 * iAlpha) / 100, LWA_ALPHA);

/*
твой код
*/


вот так будет работать без глюков и правильно
398
27 декабря 2006 года
Alexandoros
630 / / 21.10.2005
Цитата: Zorkus
Так он всегда сам линкуется, в MSVS.



Может он умудрился отключить стандартные либы ;)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог