Что нового

Область клика для прозрачных Gui элементов (с png или ico)

ZlojBoter

Новичок
Сообщения
53
Репутация
0
Интересует вопрос: возможно ли как-то изменить область элемента, на которую срабатывает клик по нему, таким образом, чтобы прозрачные области не были включены? По умолчанию это прямоугольник, и невидимая часть тоже реагирует на клик...
Код:
#Include <GUIConstantsEx.au3>
#Include "Icons.au3"
#include <GDIPlus.au3>


Global Const $sicon = @ScriptDir&'\icon.png'

Opt("GUIOnEventMode", 1)

GUICreate('Example', 300, 300)

$Pic1 = GUICtrlCreatePic('', 100, 100, 128, 128)

GUICtrlSetOnEvent(-1, "clickico")

GUISetState()

$hicon = _Icons_Bitmap_Load($sicon)

_SetHImage($Pic1, $hicon)
    
    
While 1    
    Sleep(10)
WEnd


Func clickico()    
msgbox(0,"","")    
EndFunc
 

Вложения

  • icon.png
    icon.png
    5.7 КБ · Просмотры: 2

joiner

Модератор
Локальный модератор
Сообщения
3,506
Репутация
621
проверять цвет пикселя, когда указатель над областью картинки.
 

Oki

Осваивающий
Сообщения
364
Репутация
47
проверять цвет пикселя, когда указатель над областью картинки.
Тогда уж лучше проверять сами координаты, так как за прозрачным определится цвет, который "проходил мимо". Разве не так?
 

Prog

Продвинутый
Сообщения
499
Репутация
59
Нужно определять цвет пикселя картинки, а не того что под ней. Если пиксель прозрачный (альфа больше 200), игнорировать клик по области.
 
Верх