1

Тема: AHK:Checkbox Disable\Enable

Доброго времени суток.
Подскажите где я ошибся и как это исправить.

+ открыть спойлер


#SingleInstance force

Gui,Add,Checkbox, x10 y10 vRad1 gSubmit , 35`%
Gui,Add,Checkbox, x30 y30 vRad2 gSubmit , 30`%
Gui,Add,Checkbox, x50 y50 vRad3 gSubmit , 10`%
Gui,Show,Center w250 h250
return


Submit:
Gui,Submit,NoHide

If (Rad2= 1)
{
    GuiControl , Disable, Rad1
    GuiControl , Disable, Rad3
}
else
{
	GuiControl , Enable, Rad1
    GuiControl , Enable, Rad3
}

If (Rad1= 1)
{
    GuiControl , Disable, Rad2
    GuiControl , Disable, Rad3
}
else
{
	GuiControl , Enable, Rad2
    GuiControl , Enable, Rad3
}

If (Rad3= 1)
{
    GuiControl , Disable, Rad1
    GuiControl , Disable, Rad2
}
else
{
	GuiControl , Enable, Rad1
    GuiControl , Enable, Rad2
}


return

GuiClose:
ExitApp

Нужно чтобы при Выборе одного из Чекбоксов все остальные отключались.

2

Re: AHK:Checkbox Disable\Enable

Не уверен, что вас понял. Если нужно, чтобы они "отключались", зачем вы используете команду Enable? Что вы понимаете под "отключением"?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

3

Re: AHK:Checkbox Disable\Enable

Если я выбрал 1 чекбокс, другие отключались что бы их нельзя было выбирать.Тыкань по ним.
Насчёт Enable если я выбрал не правильный чекбокс то что бы после uncheck включались другие,для возможности выбора их.

4

Re: AHK:Checkbox Disable\Enable

Ясно, как-то так:

Gui,Add,Checkbox, x10 y10 vRad1 gSubmit , 35`%
Gui,Add,Checkbox, x30 y30 vRad2 gSubmit , 30`%
Gui,Add,Checkbox, x50 y50 vRad3 gSubmit , 10`%
Gui,Show,Center w250 h250
return

Submit:
   toggle := !toggle
   Gui, Submit, NoHide
   Loop 3  {
      if (toggle && !Rad%A_Index%)
         GuiControl, Disable, Rad%A_Index%
      if !toggle
         GuiControl, Enable, Rad%A_Index%
   }
   Return
   
GuiClose:
   ExitApp

Но вообще если можно выбрать другой чекбокс, сняв выбранный ранее, то какой смысл в их отключении? Проще сделать переключение:

Gui,Add,Checkbox, x10 y10 vRad1 gSubmit , 35`%
Gui,Add,Checkbox, x30 y30 vRad2 gSubmit , 30`%
Gui,Add,Checkbox, x50 y50 vRad3 gSubmit , 10`%
Gui,Show,Center w250 h250
return

Submit:
   Gui, Submit, NoHide
   Loop 3
      if !(Rad%A_Index% && A_GuiControl = "Rad" . A_Index)
         GuiControl,, Rad%A_Index%, 0
   Return
   
GuiClose:
   ExitApp
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

5

Re: AHK:Checkbox Disable\Enable

Спасибо большое то что нужно .

6

Re: AHK:Checkbox Disable\Enable

А ещё проще так:

Gui,Add,Radio, x10 y10 vRad gSubmit , 35`%
Gui,Add,Radio, x30 y30 gSubmit , 30`%
Gui,Add,Radio, x50 y50 gSubmit , 10`%
Gui,Show,Center w250 h250
Return

Submit:
   Gui, Submit, NoHide
   ToolTip, % Rad, 0, 0, 1
   Return
   
GuiClose:
   ExitApp
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg