Форум пользователей Visio

Форум по вопросам применения и программирования в Visio
Текущее время: 19 окт 2019, 03:35

Часовой пояс: UTC + 3 часа [ Летнее время ]


Правила форума


При размещении файлов предпочтительным является формат vsd (а не vsdx/vsdm)
Размещая ваши вложения на форуме не используйте имена файлов содержащих кириллицу, в противном случае файл будет иметь имя .<расширение файла> !
Для форматирования ваших сообщений используйте BBCodes, описание используемых на форуме BBCodes.



Начать новую тему Ответить на тему  [ Сообщений: 26 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Создание выключателя (Элемент AсtiveX)
СообщениеДобавлено: 06 фев 2019, 13:53 
Не в сети

Зарегистрирован: 06 фев 2019, 13:21
Сообщений: 13
Использую Visio c: 2013
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Добрый вечер!
Интересует вопрос как правильно сделать выключатель что бы он включал и выключал что иногда надо, а иногда не надо?
Изображение

У меня получается сделать макрос и назначить его на кнопку, но при отчёлкивании этой кнопки назад ничего не происходит. Т.е. она одноразовая получилась, макрос включает, а обратного действия (отмены) нет.
Если конкретнее то необходимо сделать следущее. Имеются две основные фигуры (пусть будут квадратики № 1 и№ 2), эти фигуры главные. Так же имеются хаотично разбросанные кругляшки, некоторые из кругляшков принадлежат к квадратику №1, а некоторые к квадратику №2. Так вот квадратики я выполнил в виде кнопки "выключателя" и необходимо что бы при клике по квадратику-кнопке № 2 кругляшки принадлежащие этому квадратику меняли свой цвет, контур или вообще появлялись, а при отщёлкивании кнопки-квадратика №2 все кругляшки бы возвращались в исходное состояние.
Вот примерно так до нажатия кнопки и после её отжатия (возврата в исходное состояние):
Изображение
А вот так после нажатия:
Изображение

Подскажите, как осуществить это всё?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Создание выключателя (Элемент AсtiveX)
СообщениеДобавлено: 06 фев 2019, 14:02 
Не в сети
Глав-тролль

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3705
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Сбор вторичного сырья
Должность: Безработный
Уровнь квалификации: Отсутствует
подобная тема поднималась Скрыть объекты при щелчке на другой объект 4 года назад в ветке Программирование.

ну что добавляете ваши кнопки на лист. и в коде макроса прописываете что должно выполняться при нажатии на эти кнопки
Код:
Private Sub CommandButton1_Click()
blah-blah-blah
' собственно код который должен исполняться после нажатия на соответствующую кнопку.
End Sub

включаете макрорекордер, делает все эти перекрашивания фигур и т.п., анализируете код и адаптируете и помещаете в соответствующую процедуру.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Создание выключателя (Элемент AсtiveX)
СообщениеДобавлено: 06 фев 2019, 14:25 
Не в сети

Зарегистрирован: 06 фев 2019, 13:21
Сообщений: 13
Использую Visio c: 2013
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Surrogate
Это кажется у тебя я спрашивал на ютубе вот вчера и сегодня?
То что ты написал мне понятно, а как вернуть назад действие путём отжатия кнопки назад? Как нажимать я разобрался, забил макрос, а вот с отжатием не пойму, не получается.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Создание выключателя (Элемент AсtiveX)
СообщениеДобавлено: 06 фев 2019, 14:42 
Не в сети
Глав-тролль

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3705
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Сбор вторичного сырья
Должность: Безработный
Уровнь квалификации: Отсутствует
Электрон писал(а):
а как вернуть назад действие путём отжатия кнопки назад?
самое простое тогда при нажатии другой кнопки кодом отменять сделанное. я посмотрел события кнопки
Изображение
вроде ничего из выпадающего списка не подходит.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Создание выключателя (Элемент AсtiveX)
СообщениеДобавлено: 06 фев 2019, 14:49 
Не в сети

Зарегистрирован: 06 фев 2019, 13:21
Сообщений: 13
Использую Visio c: 2013
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Вопрос, тогда зачем этот выключатель нужен, если есть анимация включения и выключения а оно только включает? Может быть всё таки как то можно одним переключателем это делать, а то у меня такие масштабные схемы, что всё должно быть предельно удобно, а две кнопки вкл/выкл это означает в два раза больше макросов и кнопок, слишком будет запутанно и неудобно для пользования.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Создание выключателя (Элемент AсtiveX)
СообщениеДобавлено: 06 фев 2019, 15:10 
Не в сети
Глав-тролль

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3705
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Сбор вторичного сырья
Должность: Безработный
Уровнь квалификации: Отсутствует
Электрон писал(а):
что всё должно быть предельно удобно
думаю в VBA в библиотеке MSForms контролы сильно урезанные. Особенно те, что размещены на листах. если кнопка (commandbutton) размещена на форме можно хоть посмотреть ее свойства
Изображение
но даже здесь я не вижу ничего подходящего :wall:
Дополнено позднее: пусть это полежит здесь: Стандартный элемент управления: CommandButton


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Создание выключателя (Элемент AсtiveX)
СообщениеДобавлено: 06 фев 2019, 15:52 
Не в сети

Зарегистрирован: 06 фев 2019, 13:21
Сообщений: 13
Использую Visio c: 2013
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
А функция keyPress и keyup это не то что мне нужно? Что то пробую их пишет ошибку.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Создание выключателя (Элемент AсtiveX)
СообщениеДобавлено: 06 фев 2019, 15:58 
Не в сети
Глав-тролль

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3705
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Сбор вторичного сырья
Должность: Безработный
Уровнь квалификации: Отсутствует
нет, это нажатие неких клавиш на клавиатуре! у меня срабатывает на Alt
Цитата:
События CommandButton
KeyDown - происходит, когда кнопка имеет фокус и пользователь нажимает клавишу на клавиатуре.

KeyPress - происходит, когда пользователь нажал и отпустил клавишу, можно получить код нажатой клавиши.

Пример использования:
Код:
Private Sub Command1_KeyPress(KeyAscii As Integer)
Label1 = KeyAscii
End Sub
KeyUp - происходит, когда кнопка имеет фокус и пользователь отпускает клавишу на клавиатуре


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Создание выключателя (Элемент AсtiveX)
СообщениеДобавлено: 06 фев 2019, 16:15 
Не в сети
Ветеран

Зарегистрирован: 21 окт 2011, 12:01
Сообщений: 915
Откуда: г. Екатеринбург
Использую Visio c: 2011
Очков репутации: 122

Добавить очки репутацииУменьшить очки репутации
посмотрел. там вроде все просто - ловишь событие Click и проверяешь свойство выключателя Value
если оно False - отжат, если True - нажат


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Создание выключателя (Элемент AсtiveX)
СообщениеДобавлено: 06 фев 2019, 16:26 
Не в сети
Глав-тролль

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3705
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Сбор вторичного сырья
Должность: Безработный
Уровнь квалификации: Отсутствует
9rey писал(а):
ловишь событие Click и проверяешь свойство выключателя Value
а где это ?
тут может быть такой сценарий нажал кнопку. что-то там с другими фигурами поделал. решил отжать кнопку.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Создание выключателя (Элемент AсtiveX)
СообщениеДобавлено: 06 фев 2019, 16:33 
Не в сети

Зарегистрирован: 06 фев 2019, 13:21
Сообщений: 13
Использую Visio c: 2013
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
9rey писал(а):
посмотрел. там вроде все просто - ловишь событие Click и проверяешь свойство выключателя Value
если оно False - отжат, если True - нажат


Я тебя почти понял, а как проверить событие value? Какой макрос для этого прописать подскажи пожалуйста?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Создание выключателя (Элемент AсtiveX)
СообщениеДобавлено: 06 фев 2019, 16:44 
Не в сети
Глав-тролль

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3705
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Сбор вторичного сырья
Должность: Безработный
Уровнь квалификации: Отсутствует
Электрон писал(а):
а как проверить событие value?
я попробовал так
Код:
Dim bl As Boolean
bl = CommandButton1.Value

только у меня всегда FALSE сколько кнопку не нажимай :wall:


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Создание выключателя (Элемент AсtiveX)
СообщениеДобавлено: 06 фев 2019, 16:53 
Не в сети

Зарегистрирован: 06 фев 2019, 13:21
Сообщений: 13
Использую Visio c: 2013
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Surrogate писал(а):
Электрон писал(а):
а как проверить событие value?
я попробовал так
Код:
Dim bl As Boolean
bl = CommandButton1.Value

только у меня всегда FALSE сколько кнопку не нажимай :wall:

Там событие click() - может в скобки что то указать?


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Создание выключателя (Элемент AсtiveX)
СообщениеДобавлено: 06 фев 2019, 23:40 
Не в сети
Ветеран

Зарегистрирован: 21 окт 2011, 12:01
Сообщений: 915
Откуда: г. Екатеринбург
Использую Visio c: 2011
Очков репутации: 122

Добавить очки репутацииУменьшить очки репутации
у меня все отлично работает и параметр Value меняется при нажатии/отжатии

Код:
Private Sub ToggleButton1_Click()
    If ToggleButton1.Value = True Then
        'пишешь тут код, если нажата кнопка
    Else
        'пишешь тут код, если кнопка отжата
    End If
End Sub


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Создание выключателя (Элемент AсtiveX)
СообщениеДобавлено: 07 фев 2019, 08:44 
Не в сети

Зарегистрирован: 06 фев 2019, 13:21
Сообщений: 13
Использую Visio c: 2013
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
Огромное спасибо! Проверка value помогла. Всё получилось. Только на отжатие кнопки, в отличие от нажатия, в макросе надо убирать некоторые строки, т.е. тупо скопировать 2 макроса и вставить не получится, выдаёт ошибку, надо дубли удалять. Теперь буду мастерить огромный макрос :)


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Создание выключателя (Элемент AсtiveX)
СообщениеДобавлено: 07 фев 2019, 13:25 
Не в сети
Глав-тролль

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3705
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Сбор вторичного сырья
Должность: Безработный
Уровнь квалификации: Отсутствует
9rey писал(а):
ToggleButton1_Click()
вон, оно чО ! а я мучаюсь с CommandButton :wall:
хоть бы кто подсказал :!:


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Создание выключателя (Элемент AсtiveX)
СообщениеДобавлено: 07 фев 2019, 15:42 
Не в сети
Ветеран

Зарегистрирован: 21 окт 2011, 12:01
Сообщений: 915
Откуда: г. Екатеринбург
Использую Visio c: 2011
Очков репутации: 122

Добавить очки репутацииУменьшить очки репутации
Surrogate писал(а):
хоть бы кто подсказал

в смысле? автор написал в первом сообщении и даже показал стрелкой какой элемент ему нужен


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Создание выключателя (Элемент AсtiveX)
СообщениеДобавлено: 07 фев 2019, 15:48 
Не в сети
Глав-тролль

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3705
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Сбор вторичного сырья
Должность: Безработный
Уровнь квалификации: Отсутствует
9rey писал(а):
автор написал в первом сообщении и даже показал стрелкой какой элемент ему нужен
когда я читал это сообщение впервые, это было на телефоне. поэтому картинка мне не позволила это увидеть :wall:
Ну и далее я все варианты предлагал, где большими буквами было написано COMMANDBUTTON.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Создание выключателя (Элемент AсtiveX)
СообщениеДобавлено: 10 фев 2019, 07:24 
Не в сети

Зарегистрирован: 06 фев 2019, 13:21
Сообщений: 13
Использую Visio c: 2013
Очков репутации: 0

Добавить очки репутацииУменьшить очки репутации
9rey писал(а):
у меня все отлично работает и параметр Value меняется при нажатии/отжатии
Код:
Private Sub ToggleButton1_Click()
    If ToggleButton1.Value = True Then
        'пишешь тут код, если нажата кнопка
    Else
        'пишешь тут код, если кнопка отжата
    End If
End Sub
Тогда ещё вопрос. А как сделать это не с кнопкой а простой фигурой? Т.е. если я один раз кликнул по фигуре, например квадрату то происходит действие с другими фигурами. Подскажи, а то я совсем нуб, а надо мне.


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Создание выключателя (Элемент AсtiveX)
СообщениеДобавлено: 10 фев 2019, 07:54 
Не в сети
Глав-тролль

Зарегистрирован: 02 окт 2009, 01:01
Сообщений: 3705
Откуда: оттуда
Использую Visio c: 1998
Отрасль: Сбор вторичного сырья
Должность: Безработный
Уровнь квалификации: Отсутствует
Surrogate в сообщении #8090 писал(а):
Qwertiy писал(а):
Хотя одинарный щелчок всё равно не получится...
давно участвовал в другом обсуждении и забыл сюда добавить ссылку на него…
Средствами чисто Visio не сделать, а вот если задействовать всю мощь VBA))) Подробнее…
Там единственный момент - с таким подходом, будут обрабатываться единичные клики по ВСЕМ фигурам, что может быть нежелательно Подробнее…
абсолютно согласен с выделенным маркером текстом ! надо будет в код добавлять окошко, чтоб пользователь подтверждал что он действительно хочет к этой фигуре применить это действие !!! А то получится как в этой ветке
dothent в сообщении #7804 писал(а):
При переносе выделенного элемента часто выскакивают соединительные линии, которые приходится удалять. Иногда при этом выскакивают фигуры из библиотеки. Это очень раздражает, и занимает время. Как убрать это? п.с. самое главное, я не могу это контролировать и не понимаю, откуда всё берётся.
когда при включенной опции визио автоматом добавляет соединительные линии. правда их сразу видно, не наберется множества таких линий.
Короче надо ставить защиту от случайных кликов !!! А если будешь реализовывать вариант озвученный в соседней ветке Распознавание наведён ли курсор на объект тем более, там вероятность "случайного выполнения команды" растет стремительным домкратом!


Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 26 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


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

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Вы можете создать форум бесплатно PHPBB3 на Getbb.Ru, Также возможно сделать готовый форум PHPBB2 на Mybb2.ru
Русская поддержка phpBB