Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для DenchikK

Старожил


Сообщения: 288
Благодарности: 40

Профиль | Отправить PM | Цитировать


bogomolv
Попробуйте, пожалуйста, запустить мой скрипт - всё наглядно увидите. ;-)

Цитата:
;Назначение этих двух строчек я не понимаю...
Ну, так не ставь их!
Ну так не работает без них! :-)

Ладно - попробую ещё понятнее объяснить:
Как видно по моему скрипту - есть одна часть, которая выполняется, и вторая - закоментированная. Это я думаю видно и понятно. Первая (незакоментированная) часть в зависимости от того, какая из RadioButton выбрана, выделяет три левых или правых чекбокса - то же вроде должно быть понятно. Вторая, закоментированная, часть показывает, что с выделенными чекбоксами делать. И если запустить скрипт в том виде, как у меня он дан, можно увидеть - что первая часть (отметка чекбоксов) работает. Если закоментитровать первую часть, и раскоментировать вторую - видим что и вторая часть так же выполняет свою функцию, что на неё возложена.

Теперь немного понятнее стало какие части и что нужно совмещать?

Может и не так, как у меня записано, принцип того, что должно получится, ясен?

Добавлено:
Всё, вопрос снимается - разобрался, как это всё работает (вроде-как).
Видать жара и недосып дают о себе знать ;-) Вот что в итоге вышло:
Код: Выделить весь код
#include <GUIConstants.au3>

GUICreate("Учусь Работать С Чекбоксами", 400, 300)

$checkCN1 = GUICtrlCreateCheckbox ("CHECKBOX 1", 10, 10, 120, 20)
$checkCN2 = GUICtrlCreateCheckbox ("CHECKBOX 2", 10, 30, 120, 20)
$checkCN3 = GUICtrlCreateCheckbox ("CHECKBOX 3", 10, 50, 120, 20)
$checkCN4 = GUICtrlCreateCheckbox ("CHECKBOX 4", 130, 10, 230, 20)
$checkCN5 = GUICtrlCreateCheckbox ("CHECKBOX 5", 130, 30, 230, 20)
$checkCN6 = GUICtrlCreateCheckbox ("CHECKBOX 6", 130, 50, 230, 20)

$Start = GUICtrlCreateButton("Выполнить", 10, 100, 120, 20)
$Close = GUICtrlCreateButton("Выход", 10, 120, 120, 20)

$button_1 = GUICtrlCreateButton ("Кнопка Выбора ", 10, 150, 120, 20)
$group_1 = GUICtrlCreateGroup ("Группа", 5, 175, 120, 95)
GUIStartGroup()
$radio_1 = GUICtrlCreateRadio ("Первая Колонка", 10, 190, 120, 20)
$radio_2 = GUICtrlCreateRadio ("Вторая Колонка", 10, 205, 120, 20)

$radioval1 = 0    ; We will assume 0 = first radio button selected, 2 = last button
$radioval2 = 2

GUISetState ()

While 1
   $msg = GUIGetMsg()

   Select
  
      Case $msg = $GUI_EVENT_CLOSE  Or $msg = $Close 
        Exit
      Case $msg = $GUI_EVENT_MINIMIZE
         MsgBox(0,"", "Dialog minimized",2)
      Case $msg = $GUI_EVENT_MAXIMIZE
         MsgBox(0,"", "Dialog restored",2)


  Case $msg = $button_1
    
    if   $radioval1 = 0 then 

        If GUICtrlRead($checkCN1)=$GUI_CHECKED Then
          GUICtrlSetState($checkCN1,$GUI_UNCHECKED)
        Else
          GUICtrlSetState($checkCN1,$GUI_CHECKED)
        EndIF

        If GUICtrlRead($checkCN2)=$GUI_CHECKED Then
          GUICtrlSetState($checkCN2,$GUI_UNCHECKED)
        Else
          GUICtrlSetState($checkCN2,$GUI_CHECKED)
        EndIF

        If GUICtrlRead($checkCN3)=$GUI_CHECKED Then
          GUICtrlSetState($checkCN3,$GUI_UNCHECKED)
        Else
          GUICtrlSetState($checkCN3,$GUI_CHECKED)
        EndIF
    
    EndIf


if   $radioval1 = 1 then 

        If GUICtrlRead($checkCN4)=$GUI_CHECKED Then
          GUICtrlSetState($checkCN4,$GUI_UNCHECKED)
        Else
          GUICtrlSetState($checkCN4,$GUI_CHECKED)
        EndIF

        If GUICtrlRead($checkCN5)=$GUI_CHECKED Then
          GUICtrlSetState($checkCN5,$GUI_UNCHECKED)
        Else
          GUICtrlSetState($checkCN5,$GUI_CHECKED)
        EndIF

        If GUICtrlRead($checkCN6)=$GUI_CHECKED Then
          GUICtrlSetState($checkCN6,$GUI_UNCHECKED)
        Else
          GUICtrlSetState($checkCN6,$GUI_CHECKED)
        EndIF
    
    EndIf


       
; Назначение этих двух строчек я не понимаю...
      Case $msg >= $radio_1 AND $msg <= $radio_2
         $radioval1 = $msg - $radio_1

Case $msg = $Start

       If GUICtrlRead($checkCN1) = 1 Then
                     MsgBox(0,"Установка","Чекбокс 1",1)
        EndIf

        If GUICtrlRead($checkCN2) = 1 Then
                     MsgBox(0,"Установка","Чекбокс 2",1)
        EndIf

        If GUICtrlRead($checkCN3) = 1 Then
                     MsgBox(0,"Установка","Чекбокс 3",1)
        EndIf

        If GUICtrlRead($checkCN4) = 1 Then
                     MsgBox(0,"Установка","Чекбокс 4",1)
        EndIf

        If GUICtrlRead($checkCN5) = 1 Then
                     MsgBox(0,"Установка","Чекбокс 5",1)
        EndIf

        If GUICtrlRead($checkCN6) = 1 Then
                     MsgBox(0,"Установка","Чекбокс 6",1)
        EndIf

   EndSelect
WEnd

Последний раз редактировалось DenchikK, 12-07-2006 в 14:12.


Отправлено: 12:55, 12-07-2006 | #204