Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Checkboxy jako obrazki .PNG


Rekomendowane odpowiedzi

Opublikowano

Witam.

Zaznacza mi dowolny checkbox,ładnie zmieniając obrazek na ten który powinien.

Ale przy odznaczaniu, program się zawiesza.

 

Mógłby ktoś mi z tym pomóc?

 

  #include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
#Include <WinAPI.au3>


Global $licznik1 = 0
Global $licznik2 = 0
Global $licznik3 = 0
Global $licznik4 = 0
Global $licznik5 = 0
Global $licznik6 = 0
 $hGUI = GUICreate("Show PNG", 720, 469)
   _GDIPlus_StartUp()

$tlo1   = _GDIPlus_ImageLoadFromFile("cos.png")

$czek1 = GUICtrlCreatePic("",377, 92,16,17)
$hImage1   = _GDIPlus_ImageLoadFromFile("czek.png")

$czek2 = GUICtrlCreatePic("",377, 131,16,17)
$hImage2   = _GDIPlus_ImageLoadFromFile("czek.png")

$czek3 = GUICtrlCreatePic("",377, 167,16,17)
$hImage3   = _GDIPlus_ImageLoadFromFile("czek.png")

$czek4 = GUICtrlCreatePic("",559, 92,16,17)
$hImage4   = _GDIPlus_ImageLoadFromFile("czek.png")

$czek5 = GUICtrlCreatePic("",559, 130,16,17)
$hImage5   = _GDIPlus_ImageLoadFromFile("czek.png")

$czek6 = GUICtrlCreatePic("",559, 167,16,17)
$hImage6   = _GDIPlus_ImageLoadFromFile("czek.png")





$hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
GUIRegisterMsg($WM_PAINT, "WM_PAINT")
GUISetState()

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
	Case $GUI_EVENT_CLOSE
		Exit
Case $czek1
If $licznik1 = 0 Then

GUICtrlDelete($czek1)
$czek1 = GUICtrlCreatePic("",377, 92,16,17)
$hImage1   = _GDIPlus_ImageLoadFromFile("checkbox-checked.png")
_GDIPlus_GraphicsDrawImageRect($hGraphic, $hImage1, 377, 92,16,17)
$licznik1 = 1
Else
GUICtrlDelete($czek1)
$czek1 = GUICtrlCreatePic("",377, 92,16,17)
_GDIPlus_ImageDispose($hImage1)
$licznik1 = 0
EndIf

Case $czek2
If $licznik2 = 0 Then

GUICtrlDelete($czek2)
$czek2 = GUICtrlCreatePic("",377, 131,16,17)
$hImage2   = _GDIPlus_ImageLoadFromFile("checkbox-checked.png")
_GDIPlus_GraphicsDrawImageRect($hGraphic, $hImage2, 377, 131,16,17)
$licznik2 = 1
Else
GUICtrlDelete($czek2)
$czek2 = GUICtrlCreatePic("",377, 131,16,17)
_GDIPlus_ImageDispose($hImage2)
$licznik2 = 0
EndIf

Case $czek3
If $licznik3 = 0 Then

GUICtrlDelete($czek3)
$czek3 = GUICtrlCreatePic("",377, 167,16,17)
$hImage3   = _GDIPlus_ImageLoadFromFile("checkbox-checked.png")
_GDIPlus_GraphicsDrawImageRect($hGraphic, $hImage3, 377, 167,16,17)
$licznik3 = 1
Else
GUICtrlDelete($czek3)
$czek1 = GUICtrlCreatePic("",377, 167,16,17)
_GDIPlus_ImageDispose($hImage3)
$licznik3 = 0
EndIf

Case $czek4
If $licznik4 = 0 Then

GUICtrlDelete($czek4)
$czek4 = GUICtrlCreatePic("",559, 92,16,17)
$hImage4   = _GDIPlus_ImageLoadFromFile("checkbox-checked.png")
_GDIPlus_GraphicsDrawImageRect($hGraphic, $hImage4, 559, 92,16,17)
$licznik4 = 1
Else
GUICtrlDelete($czek4)
$czek4 = GUICtrlCreatePic("",559, 92,16,17)
_GDIPlus_ImageDispose($hImage4)
$licznik4 = 0
EndIf

Case $czek5
If $licznik5 = 0 Then

GUICtrlDelete($czek5)
$czek5 = GUICtrlCreatePic("",559, 130,16,17)
$hImage5   = _GDIPlus_ImageLoadFromFile("checkbox-checked.png")
_GDIPlus_GraphicsDrawImageRect($hGraphic, $hImage5, 559, 130,16,17)
$licznik5 = 1
Else
GUICtrlDelete($czek5)
$czek5 = GUICtrlCreatePic("",559, 130,16,17)
_GDIPlus_ImageDispose($hImage5)
$licznik5 = 0
EndIf

Case $czek6
If $licznik6 = 0 Then

GUICtrlDelete($czek6)
$czek6 = GUICtrlCreatePic("",559, 167,16,17)
$hImage6   = _GDIPlus_ImageLoadFromFile("checkbox-checked.png")
_GDIPlus_GraphicsDrawImageRect($hGraphic, $hImage6, 559, 167,16,17)
$licznik6 = 1
Else
GUICtrlDelete($czek6)
$czek6 = GUICtrlCreatePic("",559, 167,16,17)
_GDIPlus_ImageDispose($hImage6)
$licznik6 = 0
EndIf


EndSwitch
WEnd

_GDIPlus_ShutDown()

Func WM_PAINT($hWnd, $Msg, $wParam, $lParam)
	_WinAPI_RedrawWindow($hGUI, 0, 0, $RDW_UPDATENOW)
_GDIPlus_GraphicsDrawImageRect($hGraphic, $tlo1, 0, 0, 740, 489)
_GDIPlus_GraphicsDrawImageRect($hGraphic, $hImage1, 377, 92,16,17)
_GDIPlus_GraphicsDrawImageRect($hGraphic, $hImage2, 377, 131,16,17)
_GDIPlus_GraphicsDrawImageRect($hGraphic, $hImage3, 377, 167,16,17)
_GDIPlus_GraphicsDrawImageRect($hGraphic, $hImage4, 559, 92,16,17)
_GDIPlus_GraphicsDrawImageRect($hGraphic, $hImage5, 559, 130,16,17)
_GDIPlus_GraphicsDrawImageRect($hGraphic, $hImage6, 559, 167,16,17)
	_WinAPI_RedrawWindow($hGUI, 0, 0, $RDW_VALIDATE)
	Return $GUI_RUNDEFMSG
EndFunc

 

W załączniku skrypcik i 2 obrazki(zwykły checkbox i checkbox po zaznaczeniu)

gui.rar

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...