Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.09.09;
Скачать: [xml.tar.bz2];

Вниз

С#: длинный заголовок формы: урезка левой части, а не правой...   Найти похожие ветки 

 
Cyrax ©   (2007-08-07 22:56) [0]

По умолчанию длинный заголовок формы, если он не умещается, урезается справа и приписываются "...". Как сделать то же самое, но с урезкой левой части, той, которая не умещается. Т.е. нужно оставить конец заголовка видимым.

Собственно, ширину окна (в пикселах) определить можно. Ширину иконки (в пикселах) в левой части заголовка тоже можно.
Задача заключается в определении в пикселах:
1. длины текста заголовка или его части
2. ширины трёх (одной, двух, в зависимости от параметров формы) кнопок в правой части заголовка

Во втором пункте в первом приближении за ширину одной кнопки можно взять высоту шапки формы...

з.ы. на C#-форумах ответа не знают. Идиотизм...


 
Zeqfreed ©   (2007-08-07 23:04) [1]

Прочитать системные настройки шрифта заголовка окна и воспользоваться GetTextMetrics, или как ее там?
Ширину кнопок, кажется, тоже как-то без извратов можно получить.

А вообще, это оконный менеджер должен решать какую часть заголовка отрезать…


 
KSergey ©   (2007-08-08 08:14) [2]

А вот MS рекомендует особо интересующую информацию помещать вначале загооловка окна, а не в конце.

Отсюда и смена ими порядка в своих прогах:

Ранее: MS Word - Задание.doc
Петерь: Задание.doc - MS Word

Опять же на task bar видно то, что действительно интересно.


 
Cyrax ©   (2007-08-08 23:03) [3]


> А вот MS рекомендует особо интересующую информацию помещать
> вначале загооловка окна, а не в конце.

У меня иерархические заголовки: схема - подсхема - и т.д. Каждая схема/подсхема - в отдельно окне. Заголовки формируются так: Схема >> Подсхема 1 >> Подсхема 2 и т.д.


 
Petr V. Abramov ©   (2007-08-08 23:13) [4]

> Cyrax ©   (08.08.07 23:03) [3]
> У меня иерархические заголовки: схема - подсхема - и т.д.
в таком случае все равно хрен разберешь, хинты окна на таксбаре помогут


 
Cyrax ©   (2007-08-08 23:31) [5]


> в таком случае все равно хрен разберешь, хинты окна на таксбаре
> помогут

Что хрен разберёшь ?
Какие там хинты с окнами ?


 
Petr V. Abramov ©   (2007-08-08 23:38) [6]

Cyrax ©   (08.08.07 23:31) [5]
> Что хрен разберёшь ?
при достаточно большой иерархи что ее начало покажи, что конец :) - непонятно будет, что отбражает ЕТО окно
> Какие там хинты с окнами ?
Если каждое такое окно на таскбаре отдельно отбражается, у него есть хинт, заголовок полностью отбражающий
Если SDI-приложение - сделай хинт, всплывающий при наведении на заголовок окна


 
homm ©   (2007-08-08 23:48) [7]

> Если каждое такое окно на таскбаре отдельно отбражается,
> у него есть хинт, заголовок полностью отбражающий

Не верно, туда тоже не много влазить, субьъктивно символов 100 только.


 
Sdubaruhnul   (2007-08-08 23:52) [8]

Хрен его знает, как Винда рисует заголовок окна, какие расчёты она делает. Нам даны лишь те же (надеюсь) инструменты из UxTheme.dll. Например, GetThemeTextExtent, GetThemeBackgroundContentRect и подобные ф-ии. Так что если сможешь сам нарисовать заголовок, то получишь искомую ширину.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2007.09.09;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.05 c
15-1186552961
простой
2007-08-08 10:02
2007.09.09
Что с компьютером? Подскажите


3-1178897039
DeadMeat
2007-05-11 19:23
2007.09.09
Identity


11-1168887227
Katya
2007-01-15 21:53
2007.09.09
избирательный OwnerDraw


6-1168369775
fuzzylogic
2007-01-09 22:09
2007.09.09
Как создать исключение для стандартного брандмауэра?


2-1187162973
Quart
2007-08-15 11:29
2007.09.09
Win 98





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский