Static - Text fabe ändern



  • Hallo,

    ich habe eine CFormView dort habe ich ein paar Elemente nun möchte ich von einem Static - Feld mit Text die Schriftfarbe ändern.

    in der FAQ gab es dazu beispiele die OnCtlColor(...) zu überschreiben aber dort kann ich das ganze nur für alle Static Felder tun ich will dies aber nur für ein Static Feld ändern.

    Das ganze müße zur Laufzeit passieren.

    Danke



  • Du kannst überprüfen um welche Control es sich handelt.

    if(pWnd == GetDlgItem(IDC_MYCONTROL))
      // ...
    
    // oder
    
    if(pWnd == &m_ctlMyControl)
      // ...
    
    // oder z.B.
    
    switch(pWnd->GetDlgCtrlID())
    {
    case IDC_MYSTATIC:
      break;
    case IDC_MYBUTTON:
      break;
    }
    

    [ Dieser Beitrag wurde am 25.09.2002 um 15:53 Uhr von Nemesyzz editiert. ]



  • wenn ich mich nicht taeusche ist es das was du willst:
    http://www.codeproject.com/staticctrl/coloredit_colorstatic.asp ich benutz es auch es funzt auf jeden fall und ist easy

    /Edit: Url berichtigt

    [ Dieser Beitrag wurde am 25.09.2002 um 15:55 Uhr von eXitus editiert. ]



  • in der FAQ gab es dazu beispiele die OnCtlColor(...) zu überschreiben aber dort kann ich das ganze nur für alle Static Felder tun ich will dies aber nur für ein Static Feld ändern.

    Wie kommst Du denn darauf?

    Aus MSDN:

    afx_msg HBRUSH OnCtlColor( CDC* pDC, CWnd* pWnd, UINT nCtlColor);

    D.h. es wird Dir genau das Fenster übergeben, für welches die Farbe abgefragt wird. Du mußt nur abfragen:

    if( pWnd->GetDlgCtrlID() == IDC_MYCOLORSTATIC)
    {
    }
    

Log in to reply