2015-04-27 3 views
0

У меня есть кнопка. Когда я нажал эту кнопку, я хочу, чтобы диалоговое окно отображалось в виде нескольких текстовых полей и кнопок. Я искал все вокруг, чтобы попытаться выяснить, как это сделать, но я все больше смущаюсь. Может ли кто-нибудь помочь?Как создать пользовательское диалоговое окно в LiveCode

ответ

1

Простейшим примером диалогового окна является это. Сделайте новый субстрат вашей основной столы и вызовите подставку «Диалог». Добавить кнопку в substack, вызовите кнопку «ОК» и дать ему следующий скрипт:

on mouseUp 
    set the dialogData to "OK" 
    close this stack 
end mouseUp 

Сделать еще одну кнопку в вашем mainstack и дать ему этот скрипт:

on mouseUp 
    go stack "Dialog" as modal 
    put the dialogData 
end mouseUp 

Теперь у вас есть диалоговое окно. Вы можете добавлять поля и другие кнопки в стек Dialog. Например, вы можете создать кнопку отмены со следующим сценарием:

on mouseUp 
    set the dialogData to "Cancel" 
    close this stack 
end mouseUp 

, и если у вас есть поле, вы можете изменить сценарий кнопки «OK» в

on mouseUp 
    set the dialogData to fld 1 
    close this stack 
end mouseUp 
1

Создать новый substack в вашем файле, который выглядит так, как вы хотите, чтобы диалоговое окно выглядело, а затем используйте команду «модальный», чтобы показать его.

Хотя модальные диалоги немного старомодны, так почему бы просто не сделать его отдельным стеком, откройте его (например, используя команду «modeless»), и таким образом позвольте пользователю проверить или скопировать данные из главного окна ?

Обновление: Сделайте то, что предлагает Марк. Синтаксис «как модальный» более читабельен, чем просто использовать «модальный» в качестве команды (не знал, что LiveCode имеет этот вариант сейчас). Тем не менее, я бы по-прежнему предлагал использовать modess, если вы вообще можете, это просто лучше для ваших пользователей, если они могут идти туда и обратно между окнами, а не быть вынужденными в фиксированном порядке.

Смежные вопросы