Что нового

Область клика для прозрачных 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,570
Репутация
632
проверять цвет пикселя, когда указатель над областью картинки.
 

Oki

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

Prog

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