Авторизация

Логин: Пароль:
Регистрация Забыли свой пароль?

Добавление своей кнопки к системным кнопкам окна.

Страницы: 1
Добавление своей кнопки к системным кнопкам окна.
Как можно добавить свою кнопку к системным кнопкам окна?
Может у кого есть готовый кусочек кода?
у JEDI есть готовый компонент для этой задачи.
Смотря какую кнопку нужно добавить. Если, например, кнопку помощи, то её можно добавить вообще без единой строчки кода.
Изменено: mihail filatov - 14.06.2010 22:47:14
Ну причин кнопки могут быть самые разные. В скаупе, например, есть кнопка, которая разделяет его окно на несколько иногда бывает полезна.
Согласен, тогда можно использовать вот такой код, он добавит кнопку к системным. Только вот неприятность в том, что обработать нажатие по этой кнопки дело совсем не простое.
Код
procedure TForm1.DrawBtn;
var
WDc: HDc;
Cx,Cy: Integer;
XFrame, Yframe: Integer;
begin
WDc := GetWindowDc(Handle);
Cx := GetSystemMetrics(SM_CXSize);
Cy := GetSystemMetrics(SM_CYSize);
xFrame := GetSystemMetrics(SM_CXFrame);
yFrame := GetSystemMetrics(SM_CYFrame);
R := Bounds(Width - xFrame - 4*Cx + 2, yFrame + 2, Cx - 2, Cy - 4);
if Press then
DrawFrameControl(WDc,R,DFC_BUTTON,DFCS_ButtonPUSH or DFCS_PUSHED)
else
DrawFrameControl(WDc,R,DFC_BUTTON,DFCS_ButtonPUSH);
ReleaseDc(Handle,WDC);
end;
Хм, Ваши слова натолкнули меня на мысль. Может быть тогда проще проще немного изменив форму заново создать все системные кнопки и уже добавлять к ним все что требуется.
Собственно я так и дела, правда не всегда это получается так как меню любой программы располагается в самом верху, то есть получается на одном уровне с системными кнопками.
Ну сейчас уже использование стандартного главного меню вообще не актуально, все стараются создавать уникальные интерфейсы либо на лентах, либо вообще полностью уникальные, так что это уже не проблема.
Цитата
все стараются создавать уникальные интерфейсы либо на лентах

Ленты? Что вы имеете ввиду?
Цитата
Артём Кулинич пишет:
либо вообще полностью уникальные


уникальный интерфейс обречен на провал, почитайте что пишут про это
http://russian.joelonsoftware.com/uibook/chapters/5.html
Изменено: Frees - 16.06.2010 14:36:23
Цитата
Frees пишет:
уникальный интерфейс обречен на провал, почитайте что пишут про это

Речь идёт не о изменениях интерфейса до неузнаваемости... Речь идёт о интерфейсах типа AIMP и KMPlayer;)
Цитата
Ленты? Что вы имеете ввиду?

Ну как же, наверно, говорится об интерфейсах типа Office 2007-2010, где основные действия вынесены на ленту вместо меню
Изменено: motorway11 - 16.06.2010 16:57:24
Accende lumen sensibus, infude ainorem corbidus!
Цитата
Frees пишет:
уникальный интерфейс обречен на провал, почитайте что пишут про это http://russian.joelonsoftware.com/uib...ers/5.html


Спасибо почитаю.

Цитата
motorway11 пишет:
Ну как же, наверно, говорится об интерфейсах типа Office 2007-2010, где основные действия вынесены на ленту вместо меню


Совершенно верно.
Цитата

Ну как же, наверно, говорится об интерфейсах типа Office 2007-2010, где основные действия вынесены на ленту вместо меню

К стати очень хорошая вещь... При появлении которой все плевались, но потом постепенно привыкли...
Лично мне Ribbon очень нравится... Немного сложновато было вначале находить нужные элементы в Office 2007, но постепенно всё же привык...
И теперь скорость работы намного выше чем с Office 2003;)
Что качается разработки, то в Delphi 2009 было много багов в реализации Ribbon... В Delphi 2010 обещали всё исправить, но попробовать пока не успел...
Изменено: Valera - 16.06.2010 17:18:42
Мне, насколько я помню, такой интерфейс пришелся по душе с самого начала. Благодаря этому Эксел стал больше нравиться, и я начал его изучать. А раньше от меню можно было устать... А вот насчет реализаций ленточного интерфейса в других программах - почему-то мне кажется, что попытки многих разработчиков его применить приводят к довольно сырому результату. Видимо, Майкрософт уже чувствует себя в своей тарелке (как всегда), а у других это не очень получается
Изменено: motorway11 - 16.06.2010 17:33:18
Accende lumen sensibus, infude ainorem corbidus!
Цитата
Valera пишет:
Что качается разработки, то в Delphi 2009 было много багов в реализации Ribbon...


есть сторонние компоненты реализующие стиль Office 2007 например TMS, правдо платные и иногда требуют напильника
Изменено: Frees - 16.06.2010 19:05:27
Вот что мне удалось найти: фриварный компонент, позволяющий добавить кнопку к заголовку.
Ссылка: http://www.vclcomponents.com/Delphi/Buttons/Caption_Button-info.html
Цитата
Frees пишет:
уникальный интерфейс обречен на провал, почитайте что пишут про это
http://russian.joelonsoftware.com/uib...ers/5.html

Очень интересная статья. Суть: есть очень много противников Microsoft, но все равно свои программы следует делать похожими интерфейсом на программы Microsoft. Парадокс))
Страницы: 1
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)