SubclassDlgItem



  • Hi,

    versuch gerade einen Button mit eigenem Image zu erstellen; funktioniert auch; allerdings hab ich gehört, dass man die Funktion "SubclassDlgItem" nicht verwenden sollte...

    Schließe ich diese Funktion aus meinem Code aus, dann wird die DrawItem Methode virtual abgeleitet aus CButton) nicht mehr aufgerufen. Ich verwende ein CSingleDocTemplate Window und keinen Dialog.

    m_btnEnable.SetButtonImg(IDB_IMAGE);
    m_btnEnable.SetButtonText("E/D able");
    m_btnEnable.SetFont("Times New Roman",12);
    m_btnEnable.SetTextColor(RGB(0,255,0),RGB(0,255,0));
    m_btnEnable.SubclassDlgItem(IDC_ENABLE_BTN,this)	;
    

    m_btnEnable ist ein Member von CButton. Im Resourcen-Editor wurden zu Beginn entsprechend viele CButtons eingezeichnet, die durch den obigen Code ein Image etc. bekommen sollen. IDB_IMAGE ist der Verweis (resource.h) auf das Bitmap und IDC_ENABLE_BTN auf den bereits im Resource-Editor erstellten "normalen" Button.

    Ist SubclassDlgItem wirklich so wichtig, dass ohne dieser Funktion die DrawItem Methode nicht aufgerufen wird? Oder muss ich eine andere Draw-Methode virtuell ableiten von CButton, wenn ich SubclassDlgItem nicht verwenden soll.. und warum sollte man SubclassDlgItem nicht verwenden???

    Gruß
    Stefan


Log in to reply