Главная страница
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.024 c
4-1075871946
Мыш
2004-02-04 08:19
2004.04.25
Клик сквозь окно


1-1081505904
hgd
2004-04-09 14:18
2004.04.25
Как сделать форму поверх всех


4-1077629728
ProNix
2004-02-24 16:35
2004.04.25
Как програмно инсталлировать Сервис


1-1081418994
BOA_KAA
2004-04-08 14:09
2004.04.25
Потомок TStringGrid


1-1081200929
TALLA
2004-04-06 01:35
2004.04.25
Не могу передать строку в DLL на VC++6