Страница: 1 |
Страница: 1 |
Вопрос: hwnd - получить прозрачность окна
Добавлено: 22.08.04 07:53
Автор вопроса: magish
Я знаю hwnd окна. А как можно узнать прозрачность окна (от 0 до 255)???
Ответы
Всего ответов: 10
Номер ответа: 1
Автор ответа:
ZagZag
ICQ: 295002202
Вопросов: 87
Ответов: 1684
Профиль | | #1
Добавлено: 22.08.04 08:55
Если ты знаешь hWnd то сделать это можно как и с формой твоего приложения (смотри пример в "примерах" или в "библиотеке кодов"
Номер ответа: 2
Автор ответа:
magish
Вопросов: 47
Ответов: 47
Профиль | | #2
Добавлено: 22.08.04 14:03
Точнее... Можно?
Номер ответа: 3
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #3
Добавлено: 22.08.04 15:50
BOOL GetLayeredWindowAttributes(
HWND hwnd, // handle to the layered window
COLORREF *pcrKey, // color key
BYTE *pbAlpha, // Alpha value
 WORD *pdwFlags // layering flags
Номер ответа: 4
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #4
Добавлено: 22.08.04 15:51
да, и ещё:
Remarks
GetLayeredWindowAttributes can be called only if the application has previously called SetLayeredWindowAttributes on the window. The function will fail if the layered window was setup with UpdateLayeredWindow.
Номер ответа: 5
Автор ответа:
Kodo
Разработчик Offline Client
ICQ: 293048085
Вопросов: 37
Ответов: 457
Профиль | | #5
Добавлено: 22.08.04 17:13
>BOOL GetLayeredWindowAttributes( ...
Это ты на PB чтоль написал? Там так АПИ обьявляются?
Номер ответа: 6
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #6
Добавлено: 22.08.04 17:31
1. Это ника не бэйсик, т.к. комментарии сюшные/дельфовые.
2. Указатели обозначены символом "*" это уж явно не байсик, а си
3. В PB объявления АПИ такие же как и в VB, но нет там служебных слов вроде Public/Private...
Отсюда вывод, это либо MSDN, либбо Windows SDK Короче это Си
Номер ответа: 7
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #7
Добавлено: 22.08.04 17:37
Это из msdn. А msdn'у РВ неизвестен. Ему известен Си.
Чтобы понятней:
Declare Function GetLayeredWindowAttributes Lib "user32" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Номер ответа: 8
Автор ответа:
Kodo
Разработчик Offline Client
ICQ: 293048085
Вопросов: 37
Ответов: 457
Профиль | | #8
Добавлено: 22.08.04 18:20
2sne:
Дедукция, блин ))))))))
Номер ответа: 9
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #9
Добавлено: 22.08.04 19:10
API всегда были только для C++. И не только под Win32, но и под Win16 тоже.
Если перевести BOOL GetLayeredWindowAttributes на VB, то должно быть что то вроде
Function GetLayeredWindowAttributes as Boolean
Если на PB, то
Function GetLayeredWindowAttributes as Integer.
Но это конкретно для каждого языка. А т.к. API расчитаны только на Си, то ни Boolean ни Integer не верно. А верно только Long.
А вообще, стандартные типы языка Си++ есть в MSDN
Номер ответа: 10
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #10
Добавлено: 22.08.04 19:16
Вот список соответствия типов Си и VB.
Windows API Visual Basic
Char Byte
Handle Long
INT Long
UINT Long
Bool Long
WORD Integer
DWORD Long
WPARAM Long
LPARAM,LRESULT Long
COLORREF Long
ATOM Integer
Byte Byte