Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Onctlcolor (wiedermal)

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
15.03.2003, 19:12 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Hallo,
warum ändert er mir die Farbe für den Button nicht? Den "Rahmen" des Buttons färbt er mir, nur nicht den Button selbst:


C++:
//...
protected:
CBrush m_Brush
//...

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD), m_Brush(COLORREF(RGB(58,60,105)))  
{
}

HBRUSH CAboutDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
  switch(nCtlColor)
  {
  case CTLCOLOR_BTN:
    { // hier müsste er doch eigentlich den Button färben
      pDC->SetTextColor(RGB(220,222,242));
      pDC->SetBkColor(RGB(58,60,105));
      return m_Brush;
    } break;
  default:
    {
      HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

      switch(pWnd->GetDlgCtrlID())
      {
      case IDC_TITEL:  // Weitere Items, keine Buttons sondern Static
      case IDC_COPYRIGHT:
      case IDC_BITMAP:
        {
          pDC->SetTextColor(RGB(220,222,242));
          pDC->SetBkColor(RGB(58,60,105));
          pDC->SetBkMode(TRANSPARENT);
        } break;
      default:
        {
          return hbr;
        } break;
      }  
    } break;
  }
  return (HBRUSH)GetStockObject(NULL_BRUSH);
}



--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
13.05.2003, 15:38 Uhr
~K4YC33
Gast


Vergiß es !

Mit der Methode OnCtlColor bekommst weder die Vordergrund, - noch die Hintergrundfarbe einer Schaltfläche geändert....

Ich zittiere mal nen Auszug aus der MFC-FAQ von Microsoft....

"If you want to change the color of a dialog button, you have to use owner-draw button. (you can use bitmap buttons) Changing the color through OnCtlColor() will not work for buttons."
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
13.05.2003, 19:19 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


jo hab ich auch schon gemerkt, mein post ist ja auch schon ewig alt
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: