Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Onctlcolor wie finde ich die datei?

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 < [ 2 ]
000
01.04.2003, 12:26 Uhr
~Fuat
Gast


Hallo
ich möchte die farbe von(IDC_ Button1) ändern.
FloSoft hat ein code dazu geschrieben.

Zitat: überschreibe OnCtlColor für dein Dialog und Füge dort folgende
abfrage ab.
dann kommt der code.

ich habe mit dem MFC assistenten ein Dialog basirendes grund gerüst erstellt
hab ein button(IDC_Button1) in Dialog aufgenommen.
um die farbe zu änder habe ich alles nach OnCtlColor abgesucht nicht da.
oder muß ich es vorher von irgendwo auf rufen?

kann mir jemand helfen bitte?


Grüße Fuat
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
01.04.2003, 12:29 Uhr
~Fuat
Gast


ee.. ich hab mich doch eingelogt.
wieso bin ich noch gast?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
01.04.2003, 12:42 Uhr
mike
Pinguinhüpfer
(Operator)


Hi!
Saugt dir folgende Datei und du hast die mehr Button Probleme
www.codeproject.com/buttonctrl/cbuttonst.php
Umfasst alle Arten von Buttons!!

mfg mike
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
01.04.2003, 13:39 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo
@mike

Zitat:
mike postete
Hi!
Saugt dir folgende Datei und du hast die mehr Button Probleme


Die Klasse hat was, aber der Link beantwortet nicht die Frage
@Fuat
Rechtsklick auf die entsprechende Klasse und "Behandlungsroutine für Windows-Nachrichten hinzufügen" auswählen. Dort findest Du im linken Fenster jede Menge Windows-Nachrichten welche überschrieben werden könnnen. WM_CTLCOLOR ist die von Dir gesuchte. Markieren,"Hinzufügen und Bearbeiten" wählen.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 01.04.2003 um 13:40 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
01.04.2003, 13:40 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,

Zitat:
~Fuat postete
ee.. ich hab mich doch eingelogt.
wieso bin ich noch gast?


Cookies aktiviert? Sonst gehts nicht.
--
"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
005
01.04.2003, 16:50 Uhr
Fuat



Hallo.

danke.. mike und uwe.
ich probire es gleich aus..


Grüße Fuat
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
01.04.2003, 20:49 Uhr
Fuat



Ich habe es ausprobiert das programm wird ausgefürt aber die farben endern sich nicht.
hier der quellcode.
was mache ich falsch?

Grüße Fuat

C++:
HBRUSH CZinsenDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
    HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
    
    // TODO: Attribute des Gerätekontexts hier ändern
    
switch(pWnd->GetDlgCtrlID())

{

case IDC_BUTTON1:
    {
        pDC->SetTextColor(RGB(100,111,42));//Text Farbe
        pDC->SetBkColor(RGB(58,10,205));// hintergrund farbe
        pDC->SetBkMode(TRANSPARENT);
    }break;
default:
    {
        return hbr;
    }break;
}
return(HBRUSH)GetStockObject(NULL_BRUSH);
}

Dieser Post wurde am 01.04.2003 um 20:55 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
01.04.2003, 20:59 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
ich kenne jetzt nicht Deinen restliche Quelltext aber eine Abfrage auf das Flag
CTLCOLOR_BTN könnte schon ausreichen:

C++:
HBRUSH CZinsenDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
    HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
    
    // TODO: Attribute des Gerätekontexts hier ändern
if(nCtlColor == CTLCOLOR_BTN){
  
switch(pWnd->GetDlgCtrlID())

{

case IDC_BUTTON1:
    {
        pDC->SetTextColor(RGB(100,111,42));//Text Farbe
        pDC->SetBkColor(RGB(58,10,205));// hintergrund farbe
        pDC->SetBkMode(TRANSPARENT);
    }break;
default:
    {
        return hbr;
    }break;
}
}
return(HBRUSH)GetStockObject(NULL_BRUSH);
}

--
"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
01.04.2003, 21:20 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Hallo,
das hatte ich bei meinem Eintrag auch ausprobiert, er hat den button trotzdem nicht gefärbt, woran könnte das liegen?!?
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
01.04.2003, 21:46 Uhr
Volle



Hallo zusammen,

ich es gerade mal durchgelesen ohne den Code zu testen. Aber ich meine, ihr habt vergessen den richtigen HBrush zurückzugeben.

www.fun-soft.de/index.php?file=/forum/showtopic.php?threadid=1162 siehe auch Beispiel in diesem Thread...

Grüße, Volle.

Dieser Post wurde am 01.04.2003 um 21:55 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ 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: