[VC++]Dialog Hintergrundfarbe ändern
Dies soll ein kleines Tutorial werden wie man unter Vistual C++ (MFC) die Hintergrundfarbe eines Dialoges ändert. Dies gibt auch auch die Grundlage alle Elemente in einem Dialog zu gestalten. Ich arbeite in diesem Tutorial mit Visual Studio 2005. Aber es sollte auch Problemlos mit einer neueren Version funktionieren. Mit älteren Versionen sprich Visual Studio 6 geht es auch so, nur dort müsst ihr es über den Klassenassistent machen.
Dies soll ein kleines Tutorial werden wie man unter Vistual C++ (MFC) die Hintergrundfarbe eines Dialoges ändert. Dies gibt auch auch die Grundlage alle Elemente in einem Dialog zu gestalten. Ich arbeite in diesem Tutorial mit Visual Studio 2005. Aber es sollte auch Problemlos mit einer neueren Version funktionieren. Mit älteren Versionen sprich Visual Studio 6 geht es auch so, nur dort müsst ihr es über den Klassenassistent machen.
#Inhalt:
[-]Dialog erstellen
[-]OnCtlColor hinzufügen
[-]Nachwort
[-]Dialog erstellen
Als erstes erstellen wir unseren Dialog als MFC Anwendung.
In unserem Fall nenne ich den Dialog ColorDialog.
[Only registered and activated users can see links. Click Here To Register...]
Als Anwendungstyp nehmen wir Dialogfeldbasierend.
[Only registered and activated users can see links. Click Here To Register...]
ActiveXSteuerelemente Deaktivieren wir, den Rest kann man so belassen.
[Only registered and activated users can see links. Click Here To Register...]
Und somit haben wir nun einen Leeren Dialog.
[-]OnCtlColor hinzufügen
Wir gehen zunächst in die Ressourcenansicht und wählen den Hauptdialog aus.
[Only registered and activated users can see links. Click Here To Register...]
Dann klicken wir auf den Hauptdialog und gehen in die Eigenschaften.
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
So in den Eigenschaften sind nun Verschiedene Filter. Es gibt Eigenschaften, Meldungen und Steuerelementereignisse. Wir gehen in die Meldungen [Only registered and activated users can see links. Click Here To Register...] und sehen nun alle Meldungen. Wir suchen WM_CTLCOLOR und fügen es hinzu.
[Only registered and activated users can see links. Click Here To Register...]
Nachdem wir das getan haben, springen wir automatisch in die Funktion.
PHP Code:
HBRUSH CColorDialogDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Ändern Sie hier alle Attribute für den DC.
// TODO: Gib einen anderen Pinsel zurück, wenn der Standard nicht erwünscht ist.
return hbr;
}
PHP Code:
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
PHP Code:
HBRUSH hbr = CreateSolidBrush(RGB(255, 0, 0));
PHP Code:
pDC->SetBkMode(TRANSPARENT);
[-]Nachwort
Dieses Tutorial ist zwar nichts Weltbewegendes, aber bietet einem eine Grundlage um Dialoge zu verändern.
Einige Funktionen die noch nützlich sind :
PHP Code:
pDC->SetBkColor(RGB(255,0,0));
PHP Code:
pDC->SetTextColor(RGB(0,255,0));
Ich hoffe ich konnte euch das Leben mit MFC etwas erleichtern ;)