Что нового

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

ZlojBoter

Новичок
Сообщения
55
Репутация
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,556
Репутация
628
проверять цвет пикселя, когда указатель над областью картинки.
 

Oki

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

Prog

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