WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  C / C++ / Visual C++
  CDialogBar и SDI

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   CDialogBar и SDI
asteroid опубликован 04-12-2001 14:20 MSK   Click Here to See the Profile for asteroid   Click Here to Email asteroid  
Каким образом можно изменить цвет окна CDialogBar и цвет рамки (CFrameWnd) в SDI,можнт кто подскажет. Я пробовал для CDialogBarHBRUSH CNewBar::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{

HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
pDC->SetTextColor(RGB(35, 18, 122));
pDC->SetBkColor(RGB(172, 13, 155));
}
return hbr;}
но ничего не меняется, а для рамки пробовал
BOOL CMainFrame::OnEraseBkgnd(CDC* pDC)
{

CBrush* pOldBrush = pDC->SelectObject(&backBrush);
CRect rect;
pDC->GetClipBox(&rect);
pDC->PatBlt(rect.left, rect.top, rect.Wid(), rect.Height(),
PATCOPY);

pDC->SelectObject(pOldBrush);
return TRUE;

return CFrameWnd::OnEraseBkgnd(pDC);
}
но цвет не меняется может кто подскажет как быть.

DmitryRyvkin опубликован 04-12-2001 21:17 MSK     Click Here to See the Profile for DmitryRyvkin  Click Here to Email DmitryRyvkin     
Что касаемо рамочки, то она относится к неклиенту, и ее надо рисовать
OnNcPaint (отключите фильтр для фрейма а то не увидите WM_NCPAINT)

void CMainFrame::OnNcPaint()
{
CFrameWnd::OnNcPaint();
CRect rect;
CWindowDC dc (this);
GetWindowRect (&rect);
rect.OffsetRect (- CPoint (rect.left, rect.top));
dc.FillSolidRect (rect.left, rect.bottom - 3, rect.Width (), 3, RGB (0,0,0));
}
Тут заморочка с координатами, разберетесь. Также обработайте
WM_NCACTIVATE
Кстати так можно делать кнопочки на Caption' е
А вот что касается фона диалога (и диалогбара иже с ним) то вот его
то и надо OnEraseBkg. Только выбирать в pDC ничего не надо, просто
рисуйте на нем ( ну ессно не вызывать родной, впрочем вы и не вызываете)

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.