Что нового

Пояснение и описание функций.

Статус
Закрыто для дальнейших ответов.

Tantum Capitis

Новичок
Сообщения
7
Репутация
0
Вот тут нашел скрипт выводящий поверх всего определенные данные. Какие данные не важно, с этим разобрался.
Но есть много неизвестных функций. Разжуйте пожалуйста мне что где для чего говорится пишется. Спасибо!
А именно с места
Код:
_API_SetLayeredWindowAttributes($hGUI, $iTransCol)

и ниже.

Код:
#include <GUIConstants.au3>
#include <WinAPI.au3>
#include <WindowsConstants.au3>
Func _Cross_Create($iXCord, $iYCord, $iColor = 0x0000ff, $iFlag = 0)
$hGUI = GUICreate('MouseCross', 100, 100, -1, -1, $WS_POPUP, $WS_EX_TOOLWINDOW + $WS_EX_LAYERED + $WS_EX_TRANSPARENT + $WS_EX_TOPMOST)
Local $iTransCol = 0xABCDEF
If $iColor = $iTransCol Then $iTransCol = 0xFBCDEF
;-------параметры прицела
GUISetBkColor(0x888888)
GUICtrlCreateLabel("Text", 5, 5, 150, 50)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetFont(-1, 13, 400,0,"Courier New")
;--------------------------
GUISetState()
_API_SetLayeredWindowAttributes($hGUI, $iTransCol)
EndFunc
Func _API_SetLayeredWindowAttributes($hwnd, $i_transcolor, $Transparency = 128, $isColorRef = False)
Local Const $AC_SRC_ALPHA = 1
Local Const $ULW_ALPHA = 2
Local Const $LWA_ALPHA = 0x2
Local Const $LWA_COLORKEY = 0x1
If Not $isColorRef Then
$i_transcolor = Hex(String($i_transcolor), 6)
$i_transcolor = Execute('0x00' & StringMid($i_transcolor, 5, 2) & StringMid($i_transcolor, 3, 2) & StringMid($i_transcolor, 1, 2))
EndIf
Local $Ret = DllCall("user32.dll", "int", "SetLayeredWindowAttributes", "hwnd", $hwnd, "long", $i_transcolor, "byte", $Transparency, "long", $LWA_COLORKEY + $LWA_ALPHA)
Select
Case @error
Return SetError(@error, 0, 0)
Case $Ret[0] = 0
Return SetError(4, 0, 0)
Case Else
Return 1
EndSelect
EndFunc
;--------------------end----crosshair-----------------

_Cross_Create(-1, -1)
Sleep(2000)
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Re: Прошу разжевать мне неизвестные функции.

Предупреждение За нарушение правил форума (пункт Б.5):
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.


Данные правила могут пополняться локальными правилами раздела.
Как правильно называть темы

"Прошу разжевать мне неизвестные функции." - это неприемлемое название темы, переименуйте тему иначе она будет закрыта, а вам возможно будет выдан бан на несколько дней.

С уважением, ваш Модератор.
 
Автор
T

Tantum Capitis

Новичок
Сообщения
7
Репутация
0
Не плохой форум. Вместо ответа получаю предупреждение, будто не понятно чего Я просил. Всем спасибо!
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
Tantum Capitis [?]
Не плохой форум
отличный форум.
Вместо ответа получаю предупреждение
это потому что ты культуре общения не обучен. в рамках форума, конечно же.
будто не понятно чего Я просил
будто форум ради тебя одного и твоего вопроса создан.
и тебе не хворать. но ежели планируешь задержаться, то ради приличия проследуй по всем ссылкам для получения полного представления об уставах нашего монастыря
 
Автор
T

Tantum Capitis

Новичок
Сообщения
7
Репутация
0
:rofl:
Можно было бы уже хоть чем то помочь.
Kaster ты прям троль-джентельмен. Моя тема могла бы без твоих праведных речей побыть.
 

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
Tantum Capitis

Упрощённый вид. Сама функция _WinAPI_SetLayeredWindowAttributes есть в справке. Устанавливает атрибуты слоя окна. В параметрах можно указать цвет, который будет прозрачным. Сделай поиск по форуму и найдёшь много примеров использования этой функции.

Код:
#include <GUIConstants.au3>
#include <WinAPI.au3>
#include <WindowsConstants.au3>

$hGUI = GUICreate('MouseCross', 100, 100, -1, -1, $WS_POPUP, $WS_EX_TOOLWINDOW + $WS_EX_LAYERED + $WS_EX_TRANSPARENT + $WS_EX_TOPMOST)
;-------параметры прицела
GUISetBkColor(0x888888)
GUICtrlCreateLabel("Text", 5, 5, 150, 50)
GUICtrlSetColor(-1, 0xffffff)
GUICtrlSetFont(-1, 13, 400,0,"Courier New")
;--------------------------
GUISetState()
_WinAPI_SetLayeredWindowAttributes($hGUI, 0xABCDEF, 128)

Sleep(2000)
 
Статус
Закрыто для дальнейших ответов.
Верх