Можно "костыльным" способомкаким-либо способом
#include "GuiConstants.au3"
GUICreate("Label")
GUICtrlCreateLabel("", 10, 10, 100, 50)
GUICtrlSetBkColor(-1, 0x2CA1E6)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlCreateLabel("", 110, 10, 60, 50)
GUICtrlSetBkColor(-1, 0xFFFFFF)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlCreateLabel("", 170, 10, 170, 50)
GUICtrlSetBkColor(-1, 0xAB5554)
GUICtrlSetState(-1, $GUI_DISABLE)
$Label = GUICtrlCreateLabel("Lorem Ipsum", 10, 10, 330, 50, BitOR($SS_CENTER, $SS_CENTERIMAGE))
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetFont(-1, 20, 700)
GUISetState()
Do
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $Label
MsgBox(0, "", "label")
EndSwitch
Until 0
А можно по подробнее про "отслеживать клики". Там еще дополнительная задача, чтобы кликом по этим элементам убирался или ставился chekbox.Если не нужно отслеживать клики, то $GUI_DISABLE можно убрать
кликом по этим элементам
#include "GuiConstants.au3"
GUICreate("Label")
$Left = GUICtrlCreateLabel("", 10, 10, 100, 50)
GUICtrlSetBkColor(-1, 0x2CA1E6)
$Center = GUICtrlCreateLabel("", 110, 10, 60, 50)
GUICtrlSetBkColor(-1, 0xFFFFFF)
$Right = GUICtrlCreateLabel("", 170, 10, 170, 50)
GUICtrlSetBkColor(-1, 0xAB5554)
GUICtrlCreateLabel("Lorem Ipsum", 10, 10, 330, 50, BitOR($SS_CENTER, $SS_CENTERIMAGE))
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetFont(-1, 20, 700)
GUISetState()
Do
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $Left
MsgBox(0, "", "Left")
Case $Center
MsgBox(0, "", "Center")
Case $Right
MsgBox(0, "", "Right")
EndSwitch
Until 0
#include "GUIConstantsEx.au3"
#include "StaticConstants.au3"
GUICreate("Label")
GUICtrlCreateLabel("", 10, 10, 100, 50)
GUICtrlSetBkColor(-1, 0x2CA1E6)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlCreateLabel("", 110, 10, 60, 50)
GUICtrlSetBkColor(-1, 0xFFFFFF)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlCreateLabel("", 170, 10, 170, 50)
GUICtrlSetBkColor(-1, 0xAB5554)
GUICtrlSetState(-1, $GUI_DISABLE)
$iLabel = GUICtrlCreateLabel("Lorem Ipsum", 10, 10, 330, 50, BitOR($SS_CENTER, $SS_CENTERIMAGE))
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetFont(-1, 20, 700)
GUISetState()
Do
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $iLabel
MsgBox(64, @ScriptName, 'Clicked')
EndSwitch
Until 0
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
$hGUI = GUICreate('_GUICtrlCreateColoredLabel')
$iCheckBox1 = GUICtrlCreateCheckbox('', 10, 25, 20, 20)
$aLabel1 = _GUICtrlCreateColoredLabel('Lorem Ipsum', 40, 10, 330, 50, 0x2CA1E6, 0xFFFFFF, 0xAB5554, True)
$iCheckBox2 = GUICtrlCreateCheckbox('', 10, 85, 20, 20)
$aLabel2 = _GUICtrlCreateColoredLabel('Ipsum Lorem', 40, 70, 330, 50, 0xAB5554, 0xFFFFFF, 0x2CA1E6, False)
GUISetState(@SW_SHOW, $hGUI)
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $aLabel1[0]
ConsoleWrite('Left Label Part Clicked' & @CRLF)
_ToggleCheckBox($iCheckBox1)
Case $aLabel1[1]
ConsoleWrite('Center Label Part Clicked' & @CRLF)
_ToggleCheckBox($iCheckBox1)
Case $aLabel1[2]
ConsoleWrite('Right Label Part Clicked' & @CRLF)
_ToggleCheckBox($iCheckBox1)
Case $aLabel1[3]
_ToggleCheckBox($iCheckBox1)
Case $aLabel2[0] To $aLabel2[3]
_ToggleCheckBox($iCheckBox2)
EndSwitch
WEnd
Func _GUICtrlCreateColoredLabel($sText, $iLeft, $iTop, $iWidth, $iHeight, $iLeftColor, $iCenterColor, $iRightColor, $bNotifyColors = False, $iLblSize = 20, $iLblWeight = 800)
Local $iPart1_Width = Floor($iWidth / 2.6)
Local $iPart2_Width = Floor($iWidth / 8)
Local $iPart3_Width = Floor($iWidth / 2.02)
Local $aRet[4]
$aRet[0] = GUICtrlCreateLabel('', $iLeft, $iTop, $iPart1_Width, $iHeight)
GUICtrlSetBkColor(-1, $iLeftColor)
GUICtrlSetState(-1, ($bNotifyColors ? $GUI_ENABLE : $GUI_DISABLE))
$aRet[1] = GUICtrlCreateLabel('', $iLeft + $iPart1_Width, $iTop, $iPart2_Width, $iHeight)
GUICtrlSetBkColor(-1, $iCenterColor)
GUICtrlSetState(-1, ($bNotifyColors ? $GUI_ENABLE : $GUI_DISABLE))
$aRet[2] = GUICtrlCreateLabel('', $iLeft + $iPart1_Width + $iPart2_Width, $iTop, $iPart3_Width, $iHeight)
GUICtrlSetBkColor(-1, $iRightColor)
GUICtrlSetState(-1, ($bNotifyColors ? $GUI_ENABLE : $GUI_DISABLE))
$aRet[3] = GUICtrlCreateLabel($sText, $iLeft, $iTop, $iWidth, $iHeight, BitOR($SS_CENTER, $SS_CENTERIMAGE))
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetFont(-1, $iLblSize, $iLblWeight)
Return $aRet
EndFunc
Func _ToggleCheckBox($iCheckBox)
GUICtrlSetState($iCheckBox, BitAND(GUICtrlRead($iCheckBox), $GUI_CHECKED) ? $GUI_UNCHECKED : $GUI_CHECKED)
EndFunc
В моём первом сообщении именно так и сделано. Но, насколько я понял, QQruza хочет различать клики отдельно по каждому цветному элементу.Можно ещё так (проверка самого Label)
Да, я не заметил.В моём первом сообщении именно так и сделано