Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Dialogfeld colorieren

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
04.10.2003, 10:00 Uhr
~Bubi
Gast


Hallo,

das man Edit- und Static- Felder farbig darstellen kann, das weiß ich, und das klappt auch -

kann man dem gesamten Dialogfeld (den Hauptdialog bei der Dialogfeldbasierten Anwendung) auch eine Farbe verpassen oder bleibt hier nur das schlichte grau zur Auswahl??

Vielleicht weiß das jemand??

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
04.10.2003, 10:11 Uhr
Suchthaufen



HBRUSH CMyDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

return m_brush;
}

Wobei du den brush_ im OnInitDialog erzeugen müsst( Odert halt dort wo du die Farbe änderst.

m_brush.CreateSolidBrush(RGB(192,192,192));

Dieser Post wurde am 04.10.2003 um 10:12 Uhr von Suchthaufen editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
04.10.2003, 10:57 Uhr
~Bubi
Gast


OK, Danke ...

werd es gleich mal ausprobieren!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
04.10.2003, 11:21 Uhr
~Bubi
Gast


Super, endlich ist das eintönige Grau weg !!!

Viiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiielen Dank!!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
04.10.2003, 11:34 Uhr
~stbenne
Gast


Hallo,

sorry aber ich habe das noch nicht verstanden.
Ich habe mir in meinem Dialog über den Klassen Assi die Funktion OnCtlColor einfügen lassen, was nun ?

Wenn ich mir im OnInitDialog einen

CBrush m_brush;
m_brush.CreateSolidBrush(RGB(192,192,192));

erzeuge passiert nichts, ich wüßte auch nicht warum.

wenn jemand noch weiterführende tipps hat wäre ich dankbar


gruß Stefan
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
04.10.2003, 11:41 Uhr
Suchthaufen



Das liegt daran, daß du eine Membervariable brauchst. CBrush, erzeugt in OninitDialog, ist nach Verlassen der Funktion wieder tot und leifert im Besten Fall nix zurück... Im schlimmsten Fall gibts nen Absturz.
Also CBrush m_brush in das .h File verschieben ... und schon läufts
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
04.10.2003, 16:24 Uhr
~Bubi
Gast


Hallo,
du kannst auch am Anfang in deine *.cpp eine Variable schreiben:

CBrush m_brush;

musst dann nur noch in die
----------------------
HBRUSH CTESTDLG::OnCtlColor(...)
{
...
hbr=m_brush ;
return hbr;
}
---------------------
reinschreiben!

Tschüss
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
04.10.2003, 17:06 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,

Zitat:
~Bubi postete
Hallo,
du kannst auch am Anfang in deine *.cpp eine Variable schreiben:


Das ist gefährlich und unsauber, da Variable global!!!
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
04.10.2003, 17:19 Uhr
~Bubi
Gast


ok ,
könntest Recht haben

habe so wieder was gelernt!

Danke
 
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: