imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 11.06.2004, 11:03     # 1
Avanturist
Guest
 
Сообщения: n/a

ПРозрачные ФОрмы

Прочитал что в W2k добавлена возможность создавать прозрачные формы. Но идентефикаторов нет, нашел их в инете, объявил через define, а теперь другая проблема - компилятор кричит, что функции то которая делает прозрачность нет, хотя библиотеки подключены так как написано в MSDN. Я так понял, что нужно так сказать обновить Visual Studio. А где взять эти обновления, помогите????
 
Старый 11.06.2004, 15:06     # 2
Dimm
Добрый фей-мод
 
Аватар для Dimm
 
Регистрация: 18.09.2002
Адрес: Израиль
Пол: Male
Сообщения: 4 155

Dimm СуперБогDimm СуперБог
Dimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБог
Avanturist

Речж идёт о фунkции Win32 API - SetLayeredWindowAttributes:

Код:
BOOL SetLayeredWindowAttributes(          HWND hwnd,
    COLORREF crKey,
    BYTE bAlpha,
    DWORD dwFlags
);
С define её определять не надо. Функция определена в Winuser.h.
Тебе надо включить Windows.h. И не забыть прилинковаться к User32.lib.

Так-же установить define версии (в stdafx.h) равным 5.
__________________
Фотолюбительщина

Пока слова не сказаны - ничего нет. Но если они сказаны, даже то чего нет становится реальностью.
Dimm вне форума  
Старый 11.06.2004, 15:39     # 3
Avanturist
Guest
 
Сообщения: n/a

Через define я определил константы для этой функции, т.к. их нет в файле ни в winuser.h,windows.h. А функция не определена в winuser.h я открывал файл и запускал поиск, ее прототипа там нет. Насчет линковки, что подразумевается чтобы в сеттингах проекта на закладке ЛИНК в списке была библиотека user32.lib, так она есть. Объясни пожалуйста!!!
 
Старый 11.06.2004, 18:58     # 4
Dimm
Добрый фей-мод
 
Аватар для Dimm
 
Регистрация: 18.09.2002
Адрес: Израиль
Пол: Male
Сообщения: 4 155

Dimm СуперБогDimm СуперБог
Dimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБог
Avanturist

у меня есть (в winuser.h):
...
WINUSERAPI
BOOL
WINAPI
SetLayeredWindowAttributes(
HWND hwnd,
COLORREF crKey,
BYTE bAlpha,
DWORD dwFlags);

#define LWA_COLORKEY 0x00000001
#define LWA_ALPHA 0x00000002


#define ULW_COLORKEY 0x00000001
#define ULW_ALPHA 0x00000002
#define ULW_OPAQUE 0x00000004


#endif /* _WIN32_WINNT >= 0x0500 */


Обрати внимание, _WIN32_WINNT должно быть определено 5 и больше (как я говорил).

Я не знаю какая у тебя Visual Studio.
Попробуй скачай последий SDK с сайта Microsoft.
Установишь его, там будут все последние библиотеки.
Сделаешь include на windows.h который будет в этом SDK.
__________________
Фотолюбительщина

Пока слова не сказаны - ничего нет. Но если они сказаны, даже то чего нет становится реальностью.
Dimm вне форума  
Старый 15.06.2004, 11:17     # 5
Avanturist
Guest
 
Сообщения: n/a

Все я сам разобрался. Прикол был в том, что в самой lib этой функции не было, а вот в user32.dll была, я взял и через GetProcAddress получил ее адрес и все ок, а константа WIN32_WINNT вообще нафиг не нужны, по крайней мере в WIN2k и ХР запускается и работает без проблем. По моему она нужны если хочешь под 98 запускать функции из w2k API.
Всем спасибо!!!
 
Старый 15.06.2004, 11:35     # 6
Dimm
Добрый фей-мод
 
Аватар для Dimm
 
Регистрация: 18.09.2002
Адрес: Израиль
Пол: Male
Сообщения: 4 155

Dimm СуперБогDimm СуперБог
Dimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБогDimm СуперБог
Avanturist

кому всем?
__________________
Фотолюбительщина

Пока слова не сказаны - ничего нет. Но если они сказаны, даже то чего нет становится реальностью.
Dimm вне форума  
Старый 15.06.2004, 13:41     # 7
Avanturist
Guest
 
Сообщения: n/a

Ну типа, всем кто читал, думал, делал. Хотя если честно я не посмотрел что мы туту в двоем токо были.
 


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 02:09.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.