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

Вниз

кнопки в заголовке окна   Найти похожие ветки 

 
VladSn   (2007-10-28 21:41) [0]

имеем обычное Windows-окно программы, там есть самые используемые: развернуть, свернуть, выйти.

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

или например хочу изменить их положение, переместить кнопку закрыть в левый край, а в правом оставить все остальные.

я думаю, что возможно это как-то отрисовать самостоятельно (по типу, как дорисовывают дополнительные кнопки в заголовке), но как реализовать их корректную отрисовку с применением тем windows.

что порекомендуете?


 
homm ©   (2007-10-28 21:43) [1]

> возможно ли настроить расположение этих кнопок

Возможно.


> например, я хочу убрать все кнопки, кроме свернуть. а кнопку
> свернуть поставить на место кнопки закрыть - т.е. в самый
> правый край.

Так вроде бы нет…


> или например хочу изменить их положение, переместить кнопку
> закрыть в левый край, а в правом оставить все остальные.

… но можно самому там рисовать все что душе угодно.


> что порекомендуете?

Дурью не маяться.


 
Zeqfreed (thief)   (2007-10-28 21:51) [2]

Порекомендуем взять Линукс, Компиз и Эмеральд. И настроить все как душе угодно :)


 
VladSn   (2007-10-28 21:53) [3]

Я забыл добавить, что вопрос задаю с точки зрения разработчика. Я не хочу что бы у меня во всей windows изменилось расположение кнопок. Мне нужно изменить расположение только в своем приложении.


 
Benito   (2007-10-28 21:59) [4]

У вас есть достаточные основания нарушить схему юзабилити, принятую в Windows?
Просто интересно, чему это может поспособствовать.


 
Agent13 ©   (2007-10-28 23:32) [5]

Совет - обозначая в вопросе такие нестандартные потребности, лучше сразу говорить, зачем это нужно. Тогда есть шанс, что подскажут как сделать то же самое без извращений.


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

> Agent13 ©   (28.10.07 23:32) [5]
> Тогда есть шанс, что подскажут
Тогда есть шанс, что НЕ подскажут (или не предположат) куда такая программа пойдет. В лучшем случае развернется обсуждение, как научить юзера пользоваться программой, не используя слова "как обычно в Windows. на курсах юзеров была? нет? сходи"


 
VladSn   (2007-10-28 23:49) [7]

Просто для своего интереса рашил узнать и посмотреть позволяет ли windows изменять такие вещи и каким образом. Увидел я такой трюк в QIP Infium  (qip.ru) именно в Инфиум, там главное окно программы сделано так, что расположение стандартных кнопок окна сильно изменено. Кому интересно, вот скриншот, 54Кб: http://icqip.ru/cutenews/data/upimages/infium.gif

Посмотрите на правое окно программы, обратите внимание на кнопки закрыть и свернуть, это не просто кнопки с картинками. Эти кнопки принимают вид стандартных кнопок окна при различных темах.

Порылся в интернете, накопал только то, что видимо нужно самостоятельно отрисовывать DrawFrameControl c DFCS_CAPTIONCLOSE и с применением DrawThemeBackground. Но как эту информацию завязать в рабочий пример, пока не придумал. Хочу просто отрисовать например кнопку закрыть - X, ничем не отличающуюся от стандартной кнопки, но в середине окна; с полным применением тем. Есть идеи?


 
Черный Шаман   (2007-10-29 00:10) [8]


> VladSn   (28.10.07 21:53) [3]
>
> Я забыл добавить, что вопрос задаю с точки зрения разработчика.
>  Я не хочу что бы у меня во всей windows изменилось расположение
> кнопок. Мне нужно изменить расположение только в своем приложении.
>


Самый простой способ - Border = None и рисуй что хочешь.

Такскать окно через посылку сообщения
 Self.Perform(WM_SYSCOMMAND,$F012 ,0);


 
Zeqfreed ©   (2007-10-29 00:12) [9]

В Кипе ужасный перегруженный попугаичий интерфейс.


 
Юрий Зотов ©   (2007-10-29 00:33) [10]

> VladSn   (28.10.07 23:49) [7]

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


 
Torry ©   (2007-10-29 00:41) [11]

Есть несколько решений, каждое со своими тараканами - http://www.torry.net/pages.php?id=30, но Ю.З. прав - оно того не стоит.


 
VladSn   (2007-10-29 21:00) [12]

Спасибо. На torry.net помотрел раздел, пожалуй единственное, что судя по исходнику соответствует нужному, это: TmxCaptionBarButtons v.1.12, но проверить не могу, стоит win2003 без тем. Но хотя судя по беглому взгляду на исходник, там работают с темами.

Но там, как мне кажется они рисуют по готовому заголовку, не отрисовывая его самостоятельно.


 
homm ©   (2007-10-29 21:45) [13]

> [12] VladSn   (29.10.07 21:00)
> но проверить не могу, стоит win2003 без тем

Включи сервис тем и наслаждайся…


 
tesseract ©   (2007-10-29 22:11) [14]


> Нечто подобное я когда-то делал, так что со спокойной совестью
> могу сказать - овчинка не стоит выделки. Слишком много мороки,
>  а в результате - всего лишь выпендрежный (и непривычный
> юзеру) интерфейс, ничем не лучше стандартного.


Я делал так - убираем неклиенское окно, ставим панель, выдавая за неклиентское -  и делаем что душе угодно. Из минусов - только жуть наследование окон.



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

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

Наверх





Память: 0.48 MB
Время: 0.158 c
3-1185003320
NewZ
2007-07-21 11:35
2007.12.02
Как заменить значение NULL?


2-1194508018
Nucer
2007-11-08 10:46
2007.12.02
TTimer


2-1194416145
XIO
2007-11-07 09:15
2007.12.02
Delphi .Net и XML


11-1178721881
Vladimir Kladov
2007-05-09 18:44
2007.12.02
Версия 2.60


15-1193703706
DimonS
2007-10-30 03:21
2007.12.02
PowerPack 2.47





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский