Страница 1 из 1

Шрифт и размеры MDI Tab

Добавлено: 01 Август 2014, 9:46
Игорь Столяров
Привет всем !

Подскажите можно ли как-то изменять шрифт и размеры MDI Tab (закладки для переключения открытых MDI окон) ?
Установка системного шрифта никакой реакции не дает ... :(

Re: Шрифт и размеры MDI Tab

Добавлено: 01 Август 2014, 10:39
kreator
Я уже спрашивал - http://forum.clarionlife.net/phpbb/view ... f=1&t=3136. Какая-то вещь в себе. Я бы тоже не прочь поменять кое-что в сабже.

Re: Шрифт и размеры MDI Tab

Добавлено: 01 Август 2014, 15:02
Roman_55
В обычном бровсе на ResetSort
IF CHOICE(?CurrentTab)=1
SETFONT(?Tab:2,'Arial',10,COLOR:Black,FONT:BOLD,CHARSET:CYRILLIC)
ELSE
SETFONT(?Tab:2,'Arial',10,COLOR:Black,FONT:regular,CHARSET:CYRILLIC)
END
...и т.д. . для всех табов
выделяем шрифтом выбранный таб

Re: Шрифт и размеры MDI Tab

Добавлено: 01 Август 2014, 15:11
Игорь Столяров
Ммм ... Это изменит шрифт для выбора текущего TAB, а не панели MDI TAB, и к тому же поменяется шрифт и для всех контролов внутри TAB (если они жестко не заданы) ...

Re: Шрифт и размеры MDI Tab

Добавлено: 04 Август 2014, 15:35
Губин Игорь
Думаю, что только через игру с шаблонами.

Re: Шрифт и размеры MDI Tab

Добавлено: 27 Октябрь 2014, 10:52
Игорь Столяров
Кстати, вот пример в продолжение этой темы.

Системный шрифт в программе "MS Sans Serif", программа работает под Win81 (русская).
Понятно, что сбита кодовая страница Windows и это нужно исправить ... но !

Но, если в той же программе установить системный шрифт "Arial" и запустить на том же компьютере,
то все отображается правильно (по русски) ... кроме заголовка окна и переключателя закладок MDI,
которые продолжают использовать системный шрифт Windows и это изменить нельзя ... :(

Re: Шрифт и размеры MDI Tab

Добавлено: 27 Октябрь 2014, 11:10
Губин Игорь
Заголовок никак не изменить. Только через настройки Виндов.
Переключатель закладок - надо лезть в шаблоны

Зато заголовок окна можно и без правки настроек виндов! 8)
Шаблон не просите - не дам. :wink: (не в том он виде, чтобы раздавать)

Re: Шрифт и размеры MDI Tab

Добавлено: 27 Октябрь 2014, 11:15
Игорь Столяров
Да, после замены "языка для программ не использующих UNICODE" с английского на русский -
на закладках переключателя MDI окно и в заголовке приложения все стало по русски. Это не сложно.

А вот где в шаблонах или LibSrc настройки шрифта для переключателя MDI окон - я не нашел.
Есть нехорошее подозрение, что это "закатано" в код "ClaRUN.DLL" :(
Или ткните меня носом в этот шаблон, что бы стало стыдно ... ;)

Re: Шрифт и размеры MDI Tab

Добавлено: 27 Октябрь 2014, 11:34
Губин Игорь
Похоже, что, действительно, в рантайме. Глубоко копать лень

Re: Шрифт и размеры MDI Tab

Добавлено: 27 Октябрь 2014, 15:43
kreator
Да зашили гады мёртво. Вопрос в ту же степь. Popup Меню можно управлять? В смысле, опять-таки, шрифтов, размеров.

Re: Шрифт и размеры MDI Tab

Добавлено: 27 Октябрь 2014, 15:50
Губин Игорь
Раньше было можно, теперь, явно, нет. Есть некая магическая последовательность, после которой попап пишет русским.
SYSTEM{PROP:Charset} = CHARSET:Cyrillic
SYSTEM{PROP:Charset+PROP:TipsFont}=CHARSET:Cyrillic
SYSTEM{PROP:FontName+PROP:TipsFont}='Arial'

Re: Шрифт и размеры MDI Tab

Добавлено: 28 Октябрь 2014, 10:33
kreator
Для всплывающих подсказок всё работает хорошо:
SYSTEM {PROP:FontName + PROP:TipsFont} !set/get font's typeface
SYSTEM {PROP:FontSize + PROP:TipsFont} !set/get font's size
SYSTEM {PROP:FontColor + PROP:TipsFont} !set/get font's color
SYSTEM {PROP:FontStyle + PROP:TipsFont} !set/get font's style
Но не для меню. Для popup меню написана вот такая хрень:

Код: Выделить всё

Popup menus use the default menu style available from SYSTEM{PROP:MenuStyle}. You can retrieve the instance of IMenuStyle and set/change its font.

By default, the used font is the system font - in priority order (higher to lower):
- font uses the handle that is the lfMenuFont value of the NONCLIENTMETRICS structure
- font uses the handle that is the result of the GetStockObject(DEFAULT_GUI_FONT) call
- font uses the handle that is the result of the GetStockObject(SYSTEM_FONT) call

By default, the charset value SYSTEM{PROP:CharSet} is not applied to the font of the default menu style.
Вот как понять? По справке GetStockObject понятно, что я могу получить некие значения, типа для меню шрифт по умолчанию Tahoma. Там же есть примеры как можно поменять, например, цвет пера или кисти. Про шрифт ничего. Или надо копать дальше. Чертов msdn :twisted: .