Глюк с отображением контрола

Программирование на Visual Basic for Applications
aquaman
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 11.05.2006 (Чт) 10:18

Глюк с отображением контрола

Сообщение aquaman » 22.05.2006 (Пн) 9:52

Обнаружил такую странную багу в редакторе..
Если на форме копи-пастнуть контрол типа ComboBox, то (по крайней мере у меня) - некорректно отображается шрифт скопированного элемента.

К примеру, есть ComboBox1 с параметром шрифт: Tahoma 8pt. При копировании элемента, очевидно, что все поля свойств контрола должны быть идентичными, но этого не происходит. Если посмотреть по очереди на свойства шрифта в обеих элементах будет значится Tahoma 8pt. Но при выделении их вместе - поле шрифт остается пустым.

Кто-нить может объяснить или подтвердить сие недоразумение!?

Для наглядности прилагаю небольшой пример.
Вложения
primer.zip
(5.74 Кб) Скачиваний: 79

MeMBus
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 450
Зарегистрирован: 23.02.2005 (Ср) 7:03
Откуда: Из леса...

Re: Глюк с отображением контрола

Сообщение MeMBus » 22.05.2006 (Пн) 10:14

aquaman писал(а):Если посмотреть по очереди на свойства шрифта в обеих элементах будет значится Tahoma 8pt. Но при выделении их вместе - поле шрифт остается пустым.

Так оно и должно быть...
Бороться и искать, найти и перепрятать!

aquaman
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 11.05.2006 (Чт) 10:18

Сообщение aquaman » 22.05.2006 (Пн) 10:33

MeMBus
т.е. ты хочешь сказать, что если у fontа все свойства одинаковые, то он может отображаться по-разному? имхо, это нонсенс! :)

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 22.05.2006 (Пн) 10:35

Давай попробуем зайти с другого конца - это "недоразумение" проявляется в чем-то, кроме того, что в design-time остается пустым поле шрифта, когда выделены два одинаковых контрола? Если нет, тогда в чем конкретно проблема у тебя?
Быть... или не быть. Вот. В чём вопрос?

aquaman
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 11.05.2006 (Чт) 10:18

Сообщение aquaman » 22.05.2006 (Пн) 10:50

uhm
проблема визуальная - т.е. при одинаковых параметрах combobox-ов они отображаются разным шрифтом (см. скрин) и смысловая. Проявляется не всегда, и хотелось бы разобраться почему.

Изображение

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 22.05.2006 (Пн) 11:10

Размер разный.
Впиши для обоих 8.
Lasciate ogni speranza, voi ch'entrate.

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 22.05.2006 (Пн) 11:10

Понял, проблема действительно есть. Почему она возникает - не знаю, у меня при копировании комбо-бокса шрифт остался абсолютно таким же. Тем не менее, верю, что такое может происходить, поскольку с подобными глюками уже сталкивался. Может быть, происходит некорректное преобразование одних координат в другие? :roll:
Быть... или не быть. Вот. В чём вопрос?

aquaman
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 11.05.2006 (Чт) 10:18

Сообщение aquaman » 22.05.2006 (Пн) 11:32

alibek
Размер в обоих случаях 8pt. И дело тут не в размере, а в самом шрифте. Если смотреть на рисунок, то в верхнем комбо - не tahoma! Хотя в свойствах указан именно этот шрифт!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 22.05.2006 (Пн) 11:34

А ты просмотри в блокноте frm-файл.
Уверен, что у одного контрола указан 7.5, а у другого 8.25.
Разница в том, что 7.5 округляется (визуально) до 8.
Но если ввести 8 (или скопировать), то он приводится к ближайшему размеру, т.е. 8.25.
Lasciate ogni speranza, voi ch'entrate.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 22.05.2006 (Пн) 11:35

aquaman писал(а):alibek
Если смотреть на рисунок, то в верхнем комбо - не tahoma! Хотя в свойствах указан именно этот шрифт!

Tahoma, просто маленькая.
Добавь в имя контрола цифру 1, увидишь засечки.
Lasciate ogni speranza, voi ch'entrate.

aquaman
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 11.05.2006 (Чт) 10:18

Сообщение aquaman » 22.05.2006 (Пн) 12:59

alibek
Вот что содержится в UserForm1.frm, полученном способом File -> Export File:
Код: Выделить всё
VERSION 5.00
Begin {C62A69F0-16DC-11CE-9E98-00AA00574A4F} UserForm1
   Caption         =   "UserForm1"
   ClientHeight    =   3120
   ClientLeft      =   45
   ClientTop       =   435
   ClientWidth     =   7260
   OleObjectBlob   =   "UserForm1.frx":0000
   StartUpPosition =   1  'CenterOwner
End
Attribute VB_Name = "UserForm1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False

Также создался файл с расширением frx. Но в нем бинарные данные, и разобрать что к чему затруднительно.
Каким образом сделать так, чтобы все свойства элементов формы сохранялись в frm файле?
И второй вопрос: как точно задать размер шрифта у контрола?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 22.05.2006 (Пн) 13:15

Да нет, самого интересного тут и нет.
Ладно, тогда выдели оба комбика и введи размер шрифта, должно помочь.
Lasciate ogni speranza, voi ch'entrate.

aquaman
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 11.05.2006 (Чт) 10:18

Сообщение aquaman » 22.05.2006 (Пн) 13:24

alibek
Это я сделал в первую очередь! :)
И не получил никакого положительного результата.
Самое интересное, что экспериментируя с настройками заметил, что увеличив размер шрифта верхнего комбо до 9pt в итоге получил точно такой же шрифт как и на нижнем комбо. Все было бы замечательно, но в нижнем - размер 8pt...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 22.05.2006 (Пн) 13:48

Что-то не получилось у меня этот баг воспроизвести.
Какой SP установлен в офисе?
А если комбики размещать не на закладках, а на самой форме?
Lasciate ogni speranza, voi ch'entrate.

aquaman
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 11.05.2006 (Чт) 10:18

Сообщение aquaman » 22.05.2006 (Пн) 13:59

Офис 2003 проф. SP1.
В смысле - не получилось воспроизвести?
В прикрепленном файле (вверху топика) - все размещено просто на форме (без закладок)..

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 22.05.2006 (Пн) 14:17

aquaman писал(а):В прикрепленном файле (вверху топика)

А... Все понятно.
Это глюки перерисовки.
Сдвинь первый комбобокс чуть выше или чуть ниже (чтобы Top был целым числом, а не 69.5.
Lasciate ogni speranza, voi ch'entrate.

$€rg
Обычный пользователь
Обычный пользователь
 
Сообщения: 99
Зарегистрирован: 11.01.2006 (Ср) 10:15
Откуда: Санкт-Петербург

Сообщение $€rg » 22.05.2006 (Пн) 14:18

размер измени Height верхнего комбика вверх а потом обратно на 17
процесс печатания программного кода укрепляет моральные устои С. Каммингс VBA4Dummies
:study:

aquaman
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 11.05.2006 (Чт) 10:18

Сообщение aquaman » 22.05.2006 (Пн) 14:31

alibek
Ты знал!! :) Шаман - других слов нет. Все делал, а вот подвинуть не додумался! Спасибо!

$€rg
И это помогло тоже, причем высота 16 и 18 - фонт норм. Чуть только сделаешь 17 - опять глюк.

Всем спс! Тема можно закрывать.

@Nik
Обычный пользователь
Обычный пользователь
 
Сообщения: 80
Зарегистрирован: 14.05.2007 (Пн) 12:11

Сообщение @Nik » 15.08.2007 (Ср) 16:17

Столкнулся ещё с одним глюком.... Требуется сделать так, чтобы при нажатии мышей на комбобокс вываливался список шрифтом, скажем, Arial, а при совершении выбора шрифт должен поменяться на Wingdinds. Так вот, в свойствах объекта изменение шрифта видно, но оно почему-то не применено... Применяется только, если перейти в конструктор, нажать кнопку для изменения шрифта объекта и ничего не меняя нажать ОК. Если требуется менять на любой другой шрифт - работает, а на Symbol, Wingdinds 2 - нет :-(

dormouse
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 140
Зарегистрирован: 10.01.2007 (Ср) 21:58
Откуда: Волжский

Сообщение dormouse » 15.08.2007 (Ср) 16:42

после смены шрифта есть Me.Repaint ??
а события выпадания списка я не нашёл :?
и зачем всё это? :lol:
скрытие секретной инфы?
для этого есть такая штука - Вкладка "Данные" -> Маска ввода -> пароль
в поле видно всегда только звёзды, а в списке - обычный текст
VBA, MSA97

@Nik
Обычный пользователь
Обычный пользователь
 
Сообщения: 80
Зарегистрирован: 14.05.2007 (Пн) 12:11

Сообщение @Nik » 15.08.2007 (Ср) 16:59

Есть метод Update, но он ругается (Метод Update из класса OLEObject завершён неверно)... :-(


Вернуться в VBA

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

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

    TopList