AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
NAV
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.04.2006, 10:47   #1  
murick is offline
murick
Участник
Аватар для murick
 
59 / 10 (1) +
Регистрация: 10.04.2006
День добрый всем. У меня такой вопрос: На форме установлена кнопка. Свойства кнопки Name и Caption соответственно Button и 'Включить' . Пытаюсь в коде сделать так, чтобы при нажатии на неё заголовок (т.е. свойство caption) поменялся на 'Выключить'. В триггере OnPush пишу:
IF CurrForm.Button.Caption='Включить'
THEN CurrForm.Button.Caption:='Выключить'
ELSE CurrForm.Button.Caption:='Включить';
При попытке компилировать навижн ругается, мол не объявлена переменная Caption. Может нельзя напрямую обращаться к ствойству Caption или существует какая-либо функция для установки этого свойства ( типа Control.SetCaption(NewCaption) )?
Старый 28.04.2006, 11:45   #2  
DA_NEAL is offline
DA_NEAL
Участник
Аватар для DA_NEAL
Лучший по профессии 2017
Лучший по профессии 2009
 
788 / 54 (3) ++++
Регистрация: 05.08.2002
Адрес: Королев
Вообще то у кнопки такое свойство как caption из C\AL не доступно.
__________________
Want to believe...
Старый 28.04.2006, 12:00   #3  
murick is offline
murick
Участник
Аватар для murick
 
59 / 10 (1) +
Регистрация: 10.04.2006
2 DA NEAL: А есть ли метод динамически по ходу работы программы изменять caption у кнопки?
Старый 28.04.2006, 12:17   #4  
murick is offline
murick
Участник
Аватар для murick
 
59 / 10 (1) +
Регистрация: 10.04.2006
А как у Label-а можно программно поменять свойство caption, если конечно такое возможно? Просто пишу тот же код, только к Лейблу, а навижн опять ругается на необъявленную переменную caption.
Старый 28.04.2006, 12:19   #5  
Kirvisniemi is offline
Kirvisniemi
Moderator
 
342 / 13 (1) ++
Регистрация: 21.12.2004
Методы всегда есть.
Можно например написать OCX или Automation server, который будет изменять Caption извне
Старый 28.04.2006, 12:28   #6  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Цитата:
Сообщение от tyrex Посмотреть сообщение
Методы всегда есть.
Можно например написать OCX или Automation server, который будет изменять Caption извне
Черт! Мне всегда нравился ваш подход, tyrex!

2 Neovision

по простому можно сделать две кнопки и играться своством VISIBLE и, если надо, координатами.
Старый 28.04.2006, 13:00   #7  
DA_NEAL is offline
DA_NEAL
Участник
Аватар для DA_NEAL
Лучший по профессии 2017
Лучший по профессии 2009
 
788 / 54 (3) ++++
Регистрация: 05.08.2002
Адрес: Королев
Можно вместо label использовать обчный textbox - только рамочки убрать. Еще поизучайте свойство CaptionClass также поможет в ряде случаев если допишите немножко в 1 кодюнит. А вот у кнопки кроме как заменой самих кнопок из C/AL не обойтись.
__________________
Want to believe...
Старый 28.04.2006, 13:04   #8  
Kirvisniemi is offline
Kirvisniemi
Moderator
 
342 / 13 (1) ++
Регистрация: 21.12.2004
2Fordewind: А что делать когда "клиент хочет"? Приходится выкручиваться

2Neovision: С лейблом все проще простого. Только делать надо не лейбл, а TextBox, у которого нужно сделать прозрачный фон и убрать Border.
А еще есть свойство Caption Class (см. App Designer Guide)

P.S. Пока написал ответ - за меня уже все ответили :-)
Старый 28.04.2006, 13:34   #9  
murick is offline
murick
Участник
Аватар для murick
 
59 / 10 (1) +
Регистрация: 10.04.2006
Спасибо большое всем! Вопрос про Лейблы у меня возник в качестве альтернативного решения изменения caption-а кнопки. Подумал сделать кнопку прозрачной и установить за ней два лейбла с заголовками 'Включить' и 'Выключить' . Потом в коде при нажатии на кнопку попеременно менять свойства Visible для этих лейблов.

Цитата:
Сообщение от Fordewind Посмотреть сообщение
по простому можно сделать две кнопки и играться своством VISIBLE и, если надо, координатами.
2 Fordewind: А насчёт этого способа я как-то не подумал. Щас попробую. Пасиба!
Старый 28.04.2006, 18:12   #10  
rootadmin is offline
rootadmin
Участник
Аватар для rootadmin
 
224 / 10 (1) +
Регистрация: 25.03.2003
Адрес: Москва
У Caption Class есть большой минус.
Он срабатывает только при открытии формы и более не обновляется
__________________
С уваженем,
rootadmin
Старый 02.05.2006, 12:14   #11  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Цитата:
Сообщение от rutadmeen Посмотреть сообщение
У Caption Class есть большой минус.
Он срабатывает только при открытии формы и более не обновляется
Зато можно его обновить руками CurrForm.UPDATECONTROLS
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 09:44.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.