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

Ваш аккаунт

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

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

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

Прозрачное окно

1.9K
29 марта 2006 года
Rad87
123 / / 14.12.2005
Для того чтобы получить прозрачное окно я пытаюсь использовать конструкцию

SetWindowLong(this->m_hWnd, GWL_EXSTYLE, GetWindowLong(this->m_hWnd, GWL_EXSTYLE) | 0x000080000);
::SetLayeredWindowAttributes(0, 100, 0x00000020);

А он мне

error C2039: 'SetLayeredWindowAttributes' : is not a member of 'operator``global namespace'''

error C3861: 'SetLayeredWindowAttributes': identifier not found, even with argument-dependent lookup

Я и библиотеку добавил и модули прописал какие в MSDN написаны. и ни в какую не хочет компилится.
395
30 марта 2006 года
RelB
367 / / 09.11.2002
Цитата:
Originally posted by Rad87
Для того чтобы получить прозрачное окно я пытаюсь использовать конструкцию

SetWindowLong(this->m_hWnd, GWL_EXSTYLE, GetWindowLong(this->m_hWnd, GWL_EXSTYLE) | 0x000080000);
::SetLayeredWindowAttributes(0, 100, 0x00000020);

А он мне

error C2039: 'SetLayeredWindowAttributes' : is not a member of 'operator``global namespace'''

error C3861: 'SetLayeredWindowAttributes': identifier not found, even with argument-dependent lookup

Я и библиотеку добавил и модули прописал какие в MSDN написаны. и ни в какую не хочет компилится.


Хе-хе.. :)
Все верно, просто данная функция появилась только начиная с win2k...
По умолчанию, в stdafx.h прописана версия для Win98, а именно 0x0410...
Необходимо заменить хотя бы на 0x0500...

1.9K
30 марта 2006 года
Rad87
123 / / 14.12.2005
Цитата:
Originally posted by RelB
Хе-хе.. :)
Все верно, просто данная функция появилась только начиная с win2k...
По умолчанию, в stdafx.h прописана версия для Win98, а именно 0x0410...
Необходимо заменить хотя бы на 0x0500...



Всё ОК! Заработало. Всё красиво.Но есть одна маленькая проблемка.

Окно перестало "прощупываться" т.е. щелкаешь по окну программы, а щелкается на окно находящееся под моим окном. (Проходит сквозь моё).

324
30 марта 2006 года
AndreySar
532 / / 01.08.2004
Цитата:
Originally posted by Rad87
Всё ОК! Заработало. Всё красиво.Но есть одна маленькая проблемка.

Окно перестало "прощупываться" т.е. щелкаешь по окну программы, а щелкается на окно находящееся под моим окном. (Проходит сквозь моё).



Полностью прозрачное окно можно сделать даже и для Win98, надо поиграться с регионом окна.

1.9K
30 марта 2006 года
Rad87
123 / / 14.12.2005
Всё окозалось гораздо проще. По совету какой-то статьи я выставил свойство формы Transperent=true. Вернув всё в исходное состояние форма заработала как нодо.

Всем спасибо!!!
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
Порадьте щось.
355
26 декабря 2006 года
<SCORP>
786 / / 21.10.2006
смотри второе сообщение в этой теме. там надо просто дефайн переписать один
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог