www.map-info.ru :: Просмотр темы - Кнопка ToggleButton
                               РќР° главную страницу сайта

 
                                
ВходВход    РегистрацияРегистрация    ПрофильПрофиль    ПользователиПользователи    ГруппыГруппы    FAQFAQ    ПоискПоиск  

 
   Список форумов www.map-info.ru | Форум - программирование в среде MapInfo Добавить ответ
Предыдущая тема :: Следующая тема  
Автор Сообщение
Soneg



Зарегистрирован: 04.03.2010
Сообщения: 8

СообщениеДобавлено: Пт Апр 02, 2010 12:34 am    Заголовок сообщения: Кнопка ToggleButton Добавить ответ со ссылкой на данный текст

Необходимо создать кнопку, которая делает видимым/скрывает определенный слой при нажатии/отжатии. Прототип стандартной кнопки "Показать/скрыть окно легенды". С показом проблемы нет, а вот при отжатии кнопки ничего не происходит, слой не скрывается. Что нужно дописать???
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Arhara



Зарегистрирован: 18.02.2009
Сообщения: 400
Откуда: Moscow, RF

СообщениеДобавлено: Пт Апр 02, 2010 2:20 am    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

для начала - попробовать обновить окно карты. для остального ответиь на два вопроса:
1. если заменить команды в состояних кнопки на печать (команда print) любого сообщения, при нажатии на кнопку - выводяться оба сообщения.
2. если да, то какой командой отключаете слой?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Soneg



Зарегистрирован: 04.03.2010
Сообщения: 8

СообщениеДобавлено: Пт Апр 02, 2010 9:04 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Ничего не понял
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Arhara



Зарегистрирован: 18.02.2009
Сообщения: 400
Откуда: Moscow, RF

СообщениеДобавлено: Сб Апр 03, 2010 2:40 am    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Побробует с самого начала. Help к MapBasic'у видели?
Команда print.
Код:

Print statement
Purpose
Prints a prompt or a status message in the Message window. You can issue this statement from the MapBasic Window in MapInfo Professional.

Syntax
Print message 
message is a string expression.

вставьте Print "A" как обработчик события "вдавить кнопку"
Print "B" - обработчик "отлепить кнопку".
В окне Message выводится A и B?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Soneg



Зарегистрирован: 04.03.2010
Сообщения: 8

СообщениеДобавлено: Вс Апр 04, 2010 11:13 am    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Вот с чего надо было начать Very Happy Какие обработчики событий отвечают за "вдавить" и "отжать"?
Сейчас код подпрограммы выглядит так:
Declare Sub B1
Sub B1

Set Map
Layer 1
Display Graphic
Label Line Arrow Position Below Font ("Arial Cyr",257,9,24672,16777215) Pen (1,2,0)
With Номер_отделения
Parallel On Auto On Overlap Off Duplicates On Offset 5
Visibility On
End Sub

И соответственно панель инструментов:
Create ButtonPad "Социальные объекты" As
ToggleButton
Icon MI_ICON_COMMUNICATION_10
Calling B1

Как я понимаю, у меня и в режиме "вдавить", и в режиме "отжать" происходит одна и та же операция - слой становится видимым. Как сделать так, чтобы в режиме "отжать" слой становился невидимым? Я догадываюсь, что дело в строке Visibility On...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Arhara



Зарегистрирован: 18.02.2009
Сообщения: 400
Откуда: Moscow, RF

СообщениеДобавлено: Пн Апр 05, 2010 6:11 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

я не вижу в синтаксисе команды, что бы в ней был вызов двух функций - всегда вызывается только одна.
Значит состояние кнопки надо хранить внутри самой функции и при каждом вызове менять на противоположное.
Код:

Declare Sub B1
dim b1Status as Logical

Sub B1
if b1Status then
 Set Map
 Layer 1
 Display Graphic
 Label Line Arrow Position Below Font ("Arial  Cyr",257,9,24672,16777215)  Pen (1,2,0)
 With Номер_отделения
 Parallel On Auto On Overlap Off Duplicates On Offset 5
 Visibility On
else
 Set Map
 Layer 1
 Visibility Off
end if
 b1Status=not b1Status
End Sub

Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Soneg



Зарегистрирован: 04.03.2010
Сообщения: 8

СообщениеДобавлено: Вт Апр 06, 2010 10:35 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Вот то, что нужно! Большое спасибо
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
   Список форумов www.map-info.ru | Форум - программирование в среде MapInfo Добавить ответ
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Top.Mail.Ru