Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Баг с Controls, занесенными в Класс модуль - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Баг с Controls, занесенными в Класс модуль
ZetMenChavo Дата: Пятница, 04.08.2023, 04:02 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 159
Репутация: 7 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте.
При создании своей формы, наткнулся на непонятный баг.
В форме есть куча контролов типа Image. При переключении списка, картинки в них либо меняются, либо удаляются оставляя пустой фон. Я пытался добавить возможность редактирования отдельного Image через процедуру MouseUp. Чтоб не прописывать макрос для каждого контрола, занес их в класс модуль.
Макрос смог прописать правильно и процедуры запускались как надо, вот только картинка не менялась. Причём не просто не менялась, а в целом становилась не изменяемой. Т.е. иду по списку - картинки сменяются, нажимаю на отдельную чтоб изменить только её - класс модуль реагирует, но картинка не меняется, а также при смене значения в списке, именно эта картинка перестаёт меняться вообще, даже если изменение не запущено через класс модуль.

В прикреплённом файле простенькая форма, где воспроизвел этот баг.
Подскажите, кто знает, как пофиксить это.
К сообщению приложен файл: forma_s_bagom.xlsm (26.2 Kb)
 
Ответить
СообщениеЗдравствуйте.
При создании своей формы, наткнулся на непонятный баг.
В форме есть куча контролов типа Image. При переключении списка, картинки в них либо меняются, либо удаляются оставляя пустой фон. Я пытался добавить возможность редактирования отдельного Image через процедуру MouseUp. Чтоб не прописывать макрос для каждого контрола, занес их в класс модуль.
Макрос смог прописать правильно и процедуры запускались как надо, вот только картинка не менялась. Причём не просто не менялась, а в целом становилась не изменяемой. Т.е. иду по списку - картинки сменяются, нажимаю на отдельную чтоб изменить только её - класс модуль реагирует, но картинка не меняется, а также при смене значения в списке, именно эта картинка перестаёт меняться вообще, даже если изменение не запущено через класс модуль.

В прикреплённом файле простенькая форма, где воспроизвел этот баг.
Подскажите, кто знает, как пофиксить это.

Автор - ZetMenChavo
Дата добавления - 04.08.2023 в 04:02
doober Дата: Пятница, 04.08.2023, 15:47 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 948
Репутация: 324 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте.
Это не баг, это не знание свойств и методов формы
Не нажимая кнопки кликайте по Image1 и Image2
К сообщению приложен файл: 4512649.xlsm (26.2 Kb)




Сообщение отредактировал doober - Пятница, 04.08.2023, 15:49
 
Ответить
СообщениеЗдравствуйте.
Это не баг, это не знание свойств и методов формы
Не нажимая кнопки кликайте по Image1 и Image2

Автор - doober
Дата добавления - 04.08.2023 в 15:47
ZetMenChavo Дата: Пятница, 04.08.2023, 16:10 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 159
Репутация: 7 ±
Замечаний: 0% ±

Excel 2010
doober, код, который вы дописали в класс модуле "If Image.Picture Is Nothing Then..." лишним конечно оказался, но вот метод в конце кода "UserForm1.Repaint" действительно то что исправляет проблему.

Большое спасибо за быструю помощь, а то работа встала из-за этого hands

Цитата
это не знание свойств и методов формы

Тяжело быть самоучкой, хорошо, когда такие люди как вы, выручают :)
 
Ответить
Сообщение doober, код, который вы дописали в класс модуле "If Image.Picture Is Nothing Then..." лишним конечно оказался, но вот метод в конце кода "UserForm1.Repaint" действительно то что исправляет проблему.

Большое спасибо за быструю помощь, а то работа встала из-за этого hands

Цитата
это не знание свойств и методов формы

Тяжело быть самоучкой, хорошо, когда такие люди как вы, выручают :)

Автор - ZetMenChavo
Дата добавления - 04.08.2023 в 16:10
ZetMenChavo Дата: Пятница, 04.08.2023, 20:50 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 159
Репутация: 7 ±
Замечаний: 0% ±

Excel 2010
doober, , ещё вопрос возник. А нет ещё какого способа обойти эту проблему?
"Repaint" конечно решает её, но из-за этого метода теперь все элементы формы мигают. Неприглядно выглядит.
К отдельным элементам этот метод, как я выяснил, не применяется, лишь к форме в целом.
 
Ответить
Сообщение doober, , ещё вопрос возник. А нет ещё какого способа обойти эту проблему?
"Repaint" конечно решает её, но из-за этого метода теперь все элементы формы мигают. Неприглядно выглядит.
К отдельным элементам этот метод, как я выяснил, не применяется, лишь к форме в целом.

Автор - ZetMenChavo
Дата добавления - 04.08.2023 в 20:50
RAN Дата: Суббота, 05.08.2023, 14:15 | Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
В 2010 ничего не мигает.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеВ 2010 ничего не мигает.

Автор - RAN
Дата добавления - 05.08.2023 в 14:15
ZetMenChavo Дата: Воскресенье, 06.08.2023, 19:38 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 159
Репутация: 7 ±
Замечаний: 0% ±

Excel 2010
RAN, да я как бы своими глазами вижу, что на рабочей форме элементы OptionButton и ToggleButton при наличии метода Me.Repaint моргают (на миг исчезают из-за перерисовки формы), а без него всё нормально.
 
Ответить
Сообщение RAN, да я как бы своими глазами вижу, что на рабочей форме элементы OptionButton и ToggleButton при наличии метода Me.Repaint моргают (на миг исчезают из-за перерисовки формы), а без него всё нормально.

Автор - ZetMenChavo
Дата добавления - 06.08.2023 в 19:38
doober Дата: Понедельник, 07.08.2023, 16:18 | Сообщение № 7
Группа: Друзья
Ранг: Ветеран
Сообщений: 948
Репутация: 324 ±
Замечаний: 0% ±

Excel 2010
А нет ещё какого способа обойти эту проблему?
Нет.У меня в 2010 не мигает


 
Ответить
Сообщение
А нет ещё какого способа обойти эту проблему?
Нет.У меня в 2010 не мигает

Автор - doober
Дата добавления - 07.08.2023 в 16:18
mgt Дата: Четверг, 10.08.2023, 12:27 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 101
Репутация: 25 ±
Замечаний: 0% ±

Excel 2010
Можно положить контрол на фрейм и репейнтить только фрейм.
 
Ответить
СообщениеМожно положить контрол на фрейм и репейнтить только фрейм.

Автор - mgt
Дата добавления - 10.08.2023 в 12:27
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!