Size: a a a

2019 February 15

MM

MrBlack MrBlack in AutoIT RU
короче, есть в организации 20 баз данных 1с, но один пользователь пользуется из них, допустим пятью, другой шестью другими и т.д.
я сделаю отбор по группам active directory наличие у пользователя разрешенного списка баз, и запускаторы этих баз должны добавиться в этот раскрывающийся список
источник

MM

MrBlack MrBlack in AutoIT RU
а чтобы этот раскрывающися список не вылазил огромных размеров, буду его уменьшать, в зависимости от кол-ва размещенных на нем кнопок
источник

KS

Kot S in AutoIT RU
MrBlack MrBlack
с OPT и GUICtrlDelete не работало, я с другой стороны зашел, со скрытием
А с opt и без Delete?
источник

KS

Kot S in AutoIT RU
Вот именно в то, что последний раз прислал добавь opt в самом начале
источник

KS

Kot S in AutoIT RU
MrBlack MrBlack
Сделал вот так, все же
#include <WindowsConstants.au3>
#include <GuiConstants.au3>
#include <GUIConstantsEx.au3>

Local $sChek, $rand

$sGui = GUICreate("", 60, 30, 0, 0, $WS_POPUP +  $WS_BORDER, $WS_EX_TOPMOST)
$button0 = GUICtrlCreateButton('START', 0, 0, 60, 30, $BS_PUSHLIKE)
GUICtrlSetFont(-1,11,700)
$button1 = GUICtrlCreateButton('Кнопка1', 1, 1, 58, 30)
$button2 = GUICtrlCreateButton('Кнопка2', 1, 1, 58, 30)
$button3 = GUICtrlCreateButton('Кнопка3', 1, 1, 58, 30)
$button4 = GUICtrlCreateButton('Кнопка4', 1, 1, 58, 30)
$button5 = GUICtrlCreateButton('Кнопка5', 1, 1, 58, 30)

GUICtrlSetState($button1, $GUI_HIDE)
GUICtrlSetState($button2, $GUI_HIDE)
GUICtrlSetState($button3, $GUI_HIDE)
GUICtrlSetState($button4, $GUI_HIDE)
GUICtrlSetState($button5, $GUI_HIDE)

GUISetState()

While 1
 Switch GUIGetMsg()
   Case $button0
     _Request()
   Case $button1
     MsgBox(4096, 'Done', 'Кнопка1')
   Case $button2
     MsgBox(4096, 'Done', 'Кнопка2')
   Case $button3
     MsgBox(4096, 'Done', 'Кнопка3')
   Case $button4
     MsgBox(4096, 'Done', 'Кнопка4')
   Case $button5
     MsgBox(4096, 'Done', 'Кнопка5')
   Case $GUI_EVENT_CLOSE
     Exit
 EndSwitch
Wend

Func _Request()
 If $sChek = 0 Then
   ControlMove('','',$sGui,'','',62,360)
   $rand = Random(1, 5, 1)
   If $rand = 1 Then
     GUICtrlSetPos($button1, 1, 30)
     GUICtrlSetState($button1, $GUI_SHOW)
   EndIf
   If $rand = 2 Then
     GUICtrlSetPos($button2, 1, 60)
     GUICtrlSetState($button2, $GUI_SHOW)
   EndIf
   If $rand = 3 Then
     GUICtrlSetPos($button3, 1, 90)
     GUICtrlSetState($button3, $GUI_SHOW)
   EndIf
   If $rand = 4 Then
     GUICtrlSetPos($button4, 1, 120)
     GUICtrlSetState($button4, $GUI_SHOW)
   EndIf
   If $rand = 5 Then
     GUICtrlSetPos($button5, 1, 150)
     GUICtrlSetState($button5, $GUI_SHOW)
   EndIf
   $sChek = 1
 Else
   GUICtrlSetState($button1, $GUI_HIDE)
   GUICtrlSetState($button2, $GUI_HIDE)
   GUICtrlSetState($button3, $GUI_HIDE)
   GUICtrlSetState($button4, $GUI_HIDE)
   GUICtrlSetState($button5, $GUI_HIDE)
   ControlMove('','',$sGui,'','',62,32)
   $sChek = 0
 EndIf
EndFunc
Кстати, у меня этот вариант нормально запускается и работает
источник

MM

MrBlack MrBlack in AutoIT RU
Так там и без Opt работает
источник

MM

MrBlack MrBlack in AutoIT RU
в последнем варианте
источник

KS

Kot S in AutoIT RU
А, блин, я не так понял. Я думал, что у тебя так и не получилось
источник

KS

Kot S in AutoIT RU
Тогда всё ок
источник

KS

Kot S in AutoIT RU
Дело оказалось в сигнатуре WinMove?
источник

KS

Kot S in AutoIT RU
Точнее замене её на ControlMove
источник

MM

MrBlack MrBlack in AutoIT RU
нет, с ControlMove тоже самое было что и с WinMove
источник

KS

Kot S in AutoIT RU
GUICtrlSetPos?
источник

MM

MrBlack MrBlack in AutoIT RU
я поменял то, что вместо удаления кнопок, стал использовать $GUI_HIDE
источник

KS

Kot S in AutoIT RU
А сразу так сделал, но у меня всё равно была та же самая проблема почему-то
источник

MM

MrBlack MrBlack in AutoIT RU
ну и да, я стал просто двигать уже ранее созданые кнопки, что были $GUI_HIDE
источник

KS

Kot S in AutoIT RU
Вот как раз в этом у меня была проблема, если я правильно понял, при скрытии кнопка теряет своё положение, поэтому надо явно задать его снова
источник

MM

MrBlack MrBlack in AutoIT RU
нет, не теряет
источник

MM

MrBlack MrBlack in AutoIT RU
$button1 = GUICtrlCreateButton('Кнопка1', 1, 1, 58, 30)
$button2 = GUICtrlCreateButton('Кнопка2', 1, 1, 58, 30)
$button3 = GUICtrlCreateButton('Кнопка3', 1, 1, 58, 30)
$button4 = GUICtrlCreateButton('Кнопка4', 1, 1, 58, 30)
$button5 = GUICtrlCreateButton('Кнопка5', 1, 1, 58, 30)
источник

MM

MrBlack MrBlack in AutoIT RU
я переместил все их в одну точку
источник