28.04.2006, 10:47 | #1 |
Участник
|
День добрый всем. У меня такой вопрос: На форме установлена кнопка. Свойства кнопки 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 |
Участник
|
Вообще то у кнопки такое свойство как caption из C\AL не доступно.
__________________
Want to believe... |
|
28.04.2006, 12:00 | #3 |
Участник
|
2 DA NEAL: А есть ли метод динамически по ходу работы программы изменять caption у кнопки?
|
|
28.04.2006, 12:17 | #4 |
Участник
|
А как у Label-а можно программно поменять свойство caption, если конечно такое возможно? Просто пишу тот же код, только к Лейблу, а навижн опять ругается на необъявленную переменную caption.
|
|
28.04.2006, 12:19 | #5 |
Moderator
|
Методы всегда есть.
Можно например написать OCX или Automation server, который будет изменять Caption извне |
|
28.04.2006, 12:28 | #6 |
Участник
|
|
|
28.04.2006, 13:00 | #7 |
Участник
|
Можно вместо label использовать обчный textbox - только рамочки убрать. Еще поизучайте свойство CaptionClass также поможет в ряде случаев если допишите немножко в 1 кодюнит. А вот у кнопки кроме как заменой самих кнопок из C/AL не обойтись.
__________________
Want to believe... |
|
28.04.2006, 13:04 | #8 |
Moderator
|
2Fordewind: А что делать когда "клиент хочет"? Приходится выкручиваться
2Neovision: С лейблом все проще простого. Только делать надо не лейбл, а TextBox, у которого нужно сделать прозрачный фон и убрать Border. А еще есть свойство Caption Class (см. App Designer Guide) P.S. Пока написал ответ - за меня уже все ответили :-) |
|
28.04.2006, 13:34 | #9 |
Участник
|
Спасибо большое всем! Вопрос про Лейблы у меня возник в качестве альтернативного решения изменения caption-а кнопки. Подумал сделать кнопку прозрачной и установить за ней два лейбла с заголовками 'Включить' и 'Выключить' . Потом в коде при нажатии на кнопку попеременно менять свойства Visible для этих лейблов.
2 Fordewind: А насчёт этого способа я как-то не подумал. Щас попробую. Пасиба! |
|
28.04.2006, 18:12 | #10 |
Участник
|
У Caption Class есть большой минус.
Он срабатывает только при открытии формы и более не обновляется
__________________
С уваженем, rootadmin |
|
02.05.2006, 12:14 | #11 |
Участник
|
|
|