Автор Тема: [Окна, Диалоги] Диалоговое окно с пунктами меню  (Прочитано 4732 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн forfrends [?]

  • Новичок
  • *
  • Сообщений: 176
  • Репутация: 3
  • Пол: Мужской
    • Все для зароботка на автопилоте!
    • Награды
Друзья помогите написать диалоговое окно с возможностью выбора пунктов, примерно как на рисунке:



ну и кнопками "Ок" и "Отмена"
« Последнее редактирование: Апрель 12, 2010, 14:28:17 от forfrends »
Все для зароботка на автопилоте!
http://portal4you.ucoz.ru

Русское сообщество AutoIt

[Окна, Диалоги] Диалоговое окно с пунктами меню
« Отправлен: Апрель 12, 2010, 14:20:10 »

Оффлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 3999
  • Репутация: 961
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: [Окна, Диалоги] создание пунктов меню
« Ответ #1, Отправлен: Апрель 12, 2010, 14:28:55 »
А что мешает использовать Koda?

Скорблю и помню.




Оффлайн forfrends [?]

  • Новичок
  • *
  • Сообщений: 176

  • Автор темы
  • Репутация: 3
  • Пол: Мужской
    • Все для зароботка на автопилоте!
    • Награды
я пробовал, но незнаю что делать с эти кодом
например:

$a = MsgBox(4, "Текст",  "Текст2")

если я выберу "Да" то $a = 1
если я выберу "Отмена" то $a = 2

а в коде, котрый мне выдала Koda какую кнопку я бы не жал ответ один и тотже


Добавлено: Апрель 12, 2010, 15:25:28
Вот код, который мне выдала Koda
Как мне узнать что нажата клавиша "Ок" или "Отмена" или какой пункт выбран?

Код: AutoIt [Выделить]
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=C:\Documents and Settings\Игорь\Рабочий стол\Form2.kxf
$Form2 = GUICreate("Форма работы", 357, 187, 293, 213)
GUISetIcon("D:\009.ico")
$GroupBox1 = GUICtrlCreateGroup("", 8, 8, 257, 161)
$Radio1 = GUICtrlCreateRadio("Radio1", 16, 24, 17, 17)
$Radio2 = GUICtrlCreateRadio("Radio2", 16, 64, 17, 17)
GUICtrlSetState(-1, $GUI_CHECKED)
$Radio3 = GUICtrlCreateRadio("Radio3", 16, 112, 17, 17)

$Label1 = GUICtrlCreateLabel("Экстримал", 40, 24, 85, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Label2 = GUICtrlCreateLabel("Занятой", 40, 64, 66, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Label3 = GUICtrlCreateLabel("Хранитель", 42, 111, 83, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Label4 = GUICtrlCreateLabel("Больльшой зароботок, но и большой риск", 32, 40, 218, 17)
$Label5 = GUICtrlCreateLabel("Стандарт - тихая работа, небольшой риск", 32, 80, 215, 17)
$Label6 = GUICtrlCreateLabel("Минимальный риск, и маленький но", 32, 128, 190, 17)
$Label7 = GUICtrlCreateLabel("и доход", 32, 96, 42, 17)
$Label8 = GUICtrlCreateLabel("стабильный доход", 32, 144, 97, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button1 = GUICtrlCreateButton("&OK", 272, 16, 75, 25, $WS_GROUP)
$Button2 = GUICtrlCreateButton("&Cancel", 272, 48, 75, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit

Case $Radio2
EndSwitch
WEnd
 

« Последнее редактирование: Апрель 12, 2010, 15:25:28 от forfrends, Причина: Объединение сообщений »

Оффлайн snoitaleR [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 854
  • Репутация: 222
  • Пол: Мужской
    • Награды
forfrends
Вот мой пример, надеюсь подойдет...

Код: AutoIt [Выделить]
; НАЧАЛО

 $D=fDIALOG()

 if BitAND($D,32) then
  MsgBox(0,"Внимание!","Нажата кнопка Ok")
 else
  MsgBox(0,"Внимание!","Нажата кнопка Отмена")
 endif

 Func fDIALOG()

  $DIALOG=GUICreate("Диалоговое окно",300,150)

  $Y=10

  $CB1=GUICtrlCreateCheckbox("Запустить программу в режиме совместимости",10,$Y,-1,-1)
  $CB2=GUICtrlCreateCheckbox("256 цветов",10,$Y+25,-1,-1)
  $CB3=GUICtrlCreateCheckbox("Разрешение экрана 640x480",10,$Y+50,-1,-1)
  $CB4=GUICtrlCreateCheckbox("Отключить визуальное оформление",10,$Y+75,-1,-1)

  $BOK=GUICtrlCreateButton("Ok",10,$Y+100,100,25)
  $BCANCEL=GUICtrlCreateButton("Отмена",150,$Y+100,100,25)

  GUISetState()

  $R=0

  while true

   switch GUIGetMsg()
    case -3

     exitloop

    case $BOK
     
     if GUICtrlRead($CB1)=1 then $R=BitOR($R,2)
     if GUICtrlRead($CB2)=1 then $R=BitOR($R,4)
     if GUICtrlRead($CB3)=1 then $R=BitOR($R,8)
     if GUICtrlRead($CB4)=1 then $R=BitOR($R,16)
     $R=BitOR($R,32)
     Return $R

    case $BCANCEL

     if GUICtrlRead($CB1)=1 then $R=BitOR($R,2)
     if GUICtrlRead($CB2)=1 then $R=BitOR($R,4)
     if GUICtrlRead($CB3)=1 then $R=BitOR($R,8)
     if GUICtrlRead($CB4)=1 then $R=BitOR($R,16)
     Return $R
 
   endswitch

  wend

 EndFunc

; КОНЕЦ
 

Главное в жизни человека - это отношение...

Русское сообщество AutoIt

Re: [Окна, Диалоги] Диалоговое окно с пунктами меню
« Ответ #3 Отправлен: Апрель 12, 2010, 15:46:54 »

Оффлайн forfrends [?]

  • Новичок
  • *
  • Сообщений: 176

  • Автор темы
  • Репутация: 3
  • Пол: Мужской
    • Все для зароботка на автопилоте!
    • Награды
Супер!!!!

а как сделать что бы мог быть выбранным только один пункт типа:



и как отпределить какой пункт выбран а какой - нет?
Просто дезнаю что это за код:

Код: AutoIt [Выделить]
if GUICtrlRead($CB1)=1 then $R=BitOR($R,2)
     if GUICtrlRead($CB2)=1 then $R=BitOR($R,4)
     if GUICtrlRead($CB3)=1 then $R=BitOR($R,8)
     if GUICtrlRead($CB4)=1 then $R=BitOR($R,16)
     $R=BitOR($R,32)


Оффлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 3999
  • Репутация: 961
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Попробуйте так:
Код: AutoIt [Выделить]
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=C:\Documents and Settings\Игорь\Рабочий стол\Form2.kxf
$Form2 = GUICreate("Форма работы", 357, 187, 293, 213)
GUISetIcon("D:\009.ico")
$GroupBox1 = GUICtrlCreateGroup("", 8, 8, 257, 161)
$Radio1 = GUICtrlCreateRadio("Radio1", 16, 24, 17, 17)
$Radio2 = GUICtrlCreateRadio("Radio2", 16, 64, 17, 17)
GUICtrlSetState(-1, $GUI_CHECKED)
$Radio3 = GUICtrlCreateRadio("Radio3", 16, 112, 17, 17)

$Label1 = GUICtrlCreateLabel("Экстримал", 40, 24, 85, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Label2 = GUICtrlCreateLabel("Занятой", 40, 64, 66, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Label3 = GUICtrlCreateLabel("Хранитель", 42, 111, 83, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Label4 = GUICtrlCreateLabel("Больльшой зароботок, но и большой риск", 32, 40, 218, 17)
$Label5 = GUICtrlCreateLabel("Стандарт - тихая работа, небольшой риск", 32, 80, 215, 17)
$Label6 = GUICtrlCreateLabel("Минимальный риск, и маленький но", 32, 128, 190, 17)
$Label7 = GUICtrlCreateLabel("и доход", 32, 96, 42, 17)
$Label8 = GUICtrlCreateLabel("стабильный доход", 32, 144, 97, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button1 = GUICtrlCreateButton("&OK", 272, 16, 75, 25, $WS_GROUP)
$Button2 = GUICtrlCreateButton("&Cancel", 272, 48, 75, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
$nMsg = GUIGetMsg()
    Select
        Case $nMsg = $GUI_EVENT_CLOSE
            ExitLoop
        Case $nMsg = $Button1 And BitAND(GUICtrlRead($Radio1), $GUI_CHECKED) = $GUI_CHECKED
            MsgBox(64, 'Info:', 'You clicked the Radio 1 and it is Checked.')
        Case $nMsg = $Button1 And BitAND(GUICtrlRead($Radio2), $GUI_CHECKED) = $GUI_CHECKED
            MsgBox(64, 'Info:', 'You clicked on Radio 2 and it is Checked.')
        Case $nMsg = $Button1 And BitAND(GUICtrlRead($Radio3), $GUI_CHECKED) = $GUI_CHECKED
            MsgBox(64, 'Info:', 'You clicked on Radio 3 and it is Checked.')
    EndSelect
WEnd


Оффлайн forfrends [?]

  • Новичок
  • *
  • Сообщений: 176

  • Автор темы
  • Репутация: 3
  • Пол: Мужской
    • Все для зароботка на автопилоте!
    • Награды
Что - то не получается.
Нужно что бы после нажатия кнопки "Ок" или "Отмена" диалоговое окно закрылось и программа шла далее, но окно остается "висеть" пока программа не бедет закрыта.
Как завершить работу этого окна?
« Последнее редактирование: Апрель 12, 2010, 16:22:00 от forfrends »

Оффлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 3999
  • Репутация: 961
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Что - то не получается.
Нужно что бы после нажатия кнопки "Ок" или "Отмена" диалоговое окно закрылось и программа шла далее, но окно остается "висеть" пока программа не бедет закрыта.
Как завершить работу этого окна?

Можно так:
Код: AutoIt [Выделить]
; ...
#EndRegion ### END Koda GUI section ###

Dim $i = 0

While 1
$nMsg = GUIGetMsg()
    Select
        Case $nMsg = $GUI_EVENT_CLOSE Or $nMsg = $Button2
            _Exit()
        Case $nMsg = $Button1 And BitAND(GUICtrlRead($Radio1), $GUI_CHECKED) = $GUI_CHECKED
            My_Func()
        Case $nMsg = $Button1 And BitAND(GUICtrlRead($Radio2), $GUI_CHECKED) = $GUI_CHECKED
            My_Func()
        Case $nMsg = $Button1 And BitAND(GUICtrlRead($Radio3), $GUI_CHECKED) = $GUI_CHECKED
            My_Func()
    EndSelect
WEnd

Func My_Func()
    GUISetState(@SW_HIDE)
    MsgBox(0,"Go!","Программа работает дальше!")
        While $i < 10
            MsgBox(0,"Считаем!",$i)
            $i += 1
        WEnd
    Exit
EndFunc

Func _Exit()
    If MsgBox(36, 'Выход!', 'Хотите закрыть программу?') = 6 Then Exit
EndFunc
 


Русское сообщество AutoIt

Re: [Окна, Диалоги] Диалоговое окно с пунктами меню
« Ответ #7 Отправлен: Апрель 13, 2010, 00:12:35 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
8 Ответов
7349 Просмотров
Последний ответ Март 12, 2011, 19:36:08
от WSWR
4 Ответов
3678 Просмотров
Последний ответ Февраль 17, 2012, 12:26:17
от glorycpsu
5 Ответов
2572 Просмотров
Последний ответ Март 25, 2012, 15:30:11
от Dimmak
2 Ответов
1480 Просмотров
Последний ответ Июль 16, 2014, 09:17:47
от Garrett
5 Ответов
1783 Просмотров
Последний ответ Июль 14, 2015, 17:50:32
от selepok
2 Ответов
913 Просмотров
Последний ответ Февраль 14, 2016, 15:34:27
от samuron
2 Ответов
1867 Просмотров
Последний ответ Август 10, 2016, 08:35:21
от wasd
2 Ответов
770 Просмотров
Последний ответ Сентябрь 30, 2016, 23:44:22
от astanid
4 Ответов
208 Просмотров
Последний ответ Сентябрь 02, 2018, 13:06:27
от Tosyk
10 Ответов
492 Просмотров
Последний ответ Сентябрь 05, 2018, 22:45:09
от Tosyk