Text auf CButton?!

Ravebaby

Erfahrenes Mitglied
ich habe nun folgendermaßen ein Button erzeugt
Code:
        CButton buttonGroesse;
	buttonGroesse.Create("My button", WS_VISIBLE|BS_PUSHBUTTON, 
		CRect(10,10,50,30), this, 1);
aber "My button" stellt nich die Beschriftung, sondern nur den Namen, über den darauf zugegriffen werden kann, dar?!
Wie aber schreibe ich nun einen Text auf den Button?
Denn diese verfügbaren Funktionen haben meiner Meinung nach nichts damit zu tun:
SetButtonStyle
SetCheck Sets
SetCursor
SetImageList
SetTextMargin
SetIcon
SetState
Oder hab ich da was übersehen?!
 
Der Text ist schon der, den man auf dem Button sehen kann. Wenn du ihn explizit ändern willst, dann kannst Du das mit SetWindowText(...).
 
aso, echt?! Dann hab ich das Problem, das der Text nicht angezeigt wird.
Ich habe ihn auf einen transparenten View draufgesetzt. Kann es daran liegen!?
 
Blöde Frage: Ist CButton buttonGroesse eine globale Variable oder nur lokal?

Wenn du die nur lokal rumliegen hast, wird der Button am Ende der Funktion/Scopes wieder zerstört.
 
Mit dem transparenten View kann es eigentlich nichts zu tun haben. Aber warum Dein Text nicht angezeigt wird, kann ich Dir dann so leider auch nicht sagen.
 
oh man Endurion, genau das wars... ou man, manche Sachen lern ich echt nie.... tststs.
Mal wieder ein riesiges Dankeschön
 
nun schmiert er mir aber hier bei dem create ab und bringt als Fehler ne "unhandled exception"
ich muss den Button ja wohl wieder bei OnDestroy mit delete löschen, oder?!
Kann man da sonst noch was falsch machen?!
Wohl schon... ;)
muss man den button denn wirklich von Hand bei OnDestroy wieder löschen?!
Oder wird dies automatisch geregelt. Dann könnte der Fehler wohl auch daher kommen?!
 
Zuletzt bearbeitet:
also ich denke schon, dass es am Löschen lag.
Muss das Ganze denn wie so ein fetter, richtiger Button aussehen, oder kann man den auch ganz schlicht nur als unterstrichenen Text darstellen lassen?!
 
jau, danke für den Link http://www.codeproject.com/buttonctrl/EasyTransparentBut.asp
Hab es nun mal nach dem Beispiel versucht zu implementieren, aber er kennt "IDB_BITMAP6" aus dieser Funktion nicht.
Code:
void CTransButton::SetTransparent(void)
{
	HBITMAP m_hBmp = ::LoadBitmap(::AfxGetInstanceHandle(), 
        MAKEINTRESOURCE(IDB_BITMAP6));
    m_hHdc = ::CreateCompatibleDC(NULL);
    ::SelectObject(m_hHdc, m_hBmp);
}
ich habe es auch in den Visual Studio Hilfe nicht gefunden, im Gegensatz zu HBITMAP, dass ich als Handletyp von CBitmap entlarvt habe.

Die Klasse mit den Funktionen "PaintBG" und "SetTransparent" habe ich von CButton abgeleitet. Aber was ist dieses "IDB_BITMAP6" ?

und die Variable m_hHdc müsste doch nach der Beschreibung auf der Page vom Typ CDC sein, oder?! Wenn ich sie aber als ein solches definiere, kommt der Fehler: " 'operator =' fundtion is unavailable in 'CDC' "
?
 
Zuletzt bearbeitet:
Zurück