Проблема с контролем ssOption в VB6: Цвет фона текста изменяется с Win 98 на Win XP - PullRequest
1 голос
/ 26 ноября 2008

Я использую элемент управления ssOption (Sheridan 3d Option) в VB6.

В Windows 98 цвет фона текстовой области совпадает с цветом фона вокруг круга параметров, и этот цвет является цветом формы по умолчанию. Таким образом, кнопка «Option» выглядит прозрачной.

Свойство Цвет фона отсутствует, а в Windows XP цвет фона текстовой области отличается от цвета фона вокруг круга «Параметры».

Есть идеи, почему это произошло? Оболочка элемента управления находится в Threed32.ocx, и у меня одна и та же версия в каталоге Windows \ system32 в системах Win98 и WinXP.

  1. Почему он может вести себя по-разному на 98 против XP?
  2. Есть идеи по поводу исправления?

Ответы [ 3 ]

3 голосов
/ 26 ноября 2008

SSOption устанавливает фоновое изображение для Windows Button Face в Windows XP. Это тот же фон, который вы получаете при создании новой формы. Вам нужно будет использовать рамку или другой тип корпуса, который имеет фон лица кнопки, если вы хотите использовать его в разноцветной форме. В противном случае используйте кнопку Option VB6.

Преимуществами SSOption является возможность отображать его текст в трехмерном рельефном или встроенном формате. Это действительно хорошо работает только при использовании цвета лица кнопки по умолчанию, поэтому оно жестко запрограммировано в элементе управления. Он также имеет лучшее форматирование текста, когда кнопка выбора находится справа от текста.

Если вы не можете использовать ограждающую раму или панель, у вас есть утомительная альтернатива. Вы можете сделать вариант VB6 без текста. Если вы используете 3D-шрифт. Тогда вы можете использовать две метки для достижения того же эффекта. Сделайте нижний белый (или верхний, в зависимости от рельефа или вставки) смещенным на один пиксель или на 15 пикселей

Вы можете использовать инструмент ZoomIn, если вы установили VB6 как часть пакета Visual Studio 6, чтобы убедиться, что он правильный.

Если вы используете его для выравнивания. Затем вы можете изменять ширину встроенного элемента управления VB6 до тех пор, пока он не будет выглядеть правильно, или сделать параметр без текста и использовать метку.

1 голос
/ 04 февраля 2009

Алекс прав. Threed32.ocx старый и имеет ряд проблем. Он не поддерживается в Vista , он захватывает фокус, когда становится видимым , его сложно обновить до VB.NET - есть и другие. Для моей компании они достаточно сильны, чтобы перевесить дополнительные функциональные возможности, которые она дает - мы исключаем ее из всех наших программ.

1 голос
/ 26 ноября 2008

Threed32.ocx древний - он был разработан для VB4. Я бы заменил его на встроенную опцию VB6.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...