Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.25;
Скачать: CL | DM;

Вниз

Меню с кнопкой закрытия документа   Найти похожие ветки 

 
Переяслов Григорий ©   (2004-04-07 17:40) [0]

В программе реализован псевдо-многодокументный интерфейс. Есть некая сущность (аналог документа), когда она открывается, то в главное окно добавляются некоторые элементы. Всегда можно выбрать одну из сущностей и закрыть ее, используя специальную кнопку на тулбаре. Хотелось бы продублировать эту кнопку кнопкой, аналогичной кнопке закрытия документа. Эта кнопка должна быть в меню. Но в стандартное меню невозможно добавить никаких контролов. Как можно обойти эту проблему?


 
Семен Сорокин ©   (2004-04-07 18:31) [1]

Это типа меню как в Delphi IDE?
если да, то TActionManager + TActionMainMenuBar (Delphi7\Demos\ActionBands)


 
Ломброзо ©   (2004-04-07 21:55) [2]

Это типа надо просто положить на форму Rebar-CoolBar, смастерить RebarBand с фиксированной шириной, в него поместить хотя бы панель, на панели или отрисовывать системные кнопки функцией DrawFrameControl, или самому написать системные кнопки.  Я их отнаследовал от TPanel:

void __fastcall TSystemButton::Paint(void)
{
   TPanel::Paint();
   ULONG flag = 0;
   if (FPressed)
       flag = DFCS_PUSHED ;
   switch (FSystemButtonStyle)
   {
       case eMinimize:
           ::DrawFrameControl(Canvas->Handle, &Rect(0, 0, Width, Height), DFC_CAPTION, DFCS_CAPTIONMIN | flag);
           break;
       case eRestore:
           ::DrawFrameControl(Canvas->Handle, &Rect(0, 0, Width, Height), DFC_CAPTION, DFCS_CAPTIONRESTORE | flag);
           break;
       case eMaximize:
           ::DrawFrameControl(Canvas->Handle, &Rect(0, 0, Width, Height), DFC_CAPTION, DFCS_CAPTIONMAX | flag);
           break;
       case eClose:
           ::DrawFrameControl(Canvas->Handle, &Rect(0, 0, Width, Height), DFC_CAPTION, DFCS_CAPTIONCLOSE | flag);
           break;
   }
}


 
Переяслов Григорий ©   (2004-04-08 09:31) [3]

Всем спасибо



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

Текущий архив: 2004.04.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.025 c
3-1080201658
Лысый
2004-03-25 11:00
2004.04.25
Нужна идея!


1-1081237348
MikePol
2004-04-06 11:42
2004.04.25
"Подвисание" MDI формы


3-1080545540
Dr.Karter
2004-03-29 11:32
2004.04.25
Работа с базой Access глазами Delphi


1-1081153338
Tanuki
2004-04-05 12:22
2004.04.25
Перехват значения


4-1077190602
Алексей
2004-02-19 14:36
2004.04.25
CreateDialog, Application.DialogHandle