Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Panel в MFC


Автор: ksili 4.8.2009, 08:24
Есть ли в MFC что-то похожее на Panel из VCL? 
Самое похожее, что я нашёл - GroupBox, у которого можно Caption сделать пустым. Но вот не вижу у него в свойствах ни возможности поменять цвет закраски, ни убрать прорисовку бордера...

Автор: Alca 4.8.2009, 08:55
Может статик покавырять.

Добавлено через 7 минут и 55 секунд
extctrls.pas:

Код

{ TCustomPanel }

constructor TCustomPanel.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  ControlStyle := [csAcceptsControls, csCaptureMouse, csClickEvents,
    csSetCaption, csOpaque, csDoubleClicks, csReplicatable];
  Width := 185;
  Height := 41;
  FAlignment := taCenter;
  BevelOuter := bvRaised;
  BevelWidth := 1;
  FBorderStyle := bsNone;
  Color := clBtnFace;
  FFullRepaint := True;
  UseDockManager := True;
end;


{ TBevel }

constructor TBevel.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  ControlStyle := ControlStyle + [csReplicatable];
  FStyle := bsLowered;
  FShape := bsBox;
  Width := 50;
  Height := 50;
end;


Добавлено через 9 минут и 29 секунд
http://forum.swamp.ru/viewtopic.php?p=1818963

Автор: Andrey44 4.8.2009, 09:11
Цитата(ksili @  4.8.2009,  08:24 Найти цитируемый пост)
Но вот не вижу у него в свойствах ни возможности поменять цвет закраски, ни убрать прорисовку бордера...

А их и нет.
Все самому делать.

Автор: Alca 4.8.2009, 09:16
Цитата

Все самому делать.

Да, ручками.
VS это же не билдер.

Автор: Earnest 4.8.2009, 10:43
Если панель должна содержать другие контролы, то лучше ее реализовать как дочерний диалог, со стилем DS_CONTROL. А GroupBox вообще не катит в качестве панели.

Автор: ksili 4.8.2009, 10:51
Ок. Посмотрю, что дает DS_CONTROL

Автор: Earnest 4.8.2009, 12:11
Стиль DS_CONTROL приводит к тому, что навигация по TAB в дочернем диалоге идет прозрачно, как если бы контролы принадлежали основному диалогу.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)