Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.026 c
14-1080890830
IronHawk
2004-04-02 11:27
2004.04.25
Не интегральная формула вычисления длинны дуги эллипса?


3-1080460711
Dimagenius
2004-03-28 11:58
2004.04.25
Как осуществить поиск в таблице базы данных?


14-1081193328
Alex Vitik
2004-04-05 23:28
2004.04.25
Моя прога не работает на другом компе... Че делать?


14-1080732293
Knight
2004-03-31 15:24
2004.04.25
Поделитесь способами отлова неизвестных вирусов...


14-1080788841
Kolyan
2004-04-01 07:07
2004.04.25
ASSEMBLER




   Наверх