Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Wie sieht denn dein Aufruf des Buttons aus ?

Macht die Fehlersuche für uns einfacher.... Und man kann es anhand deines Codes leichter erklären und du vielleicht auch verstehen, als wenn ich hier ein CodeTeil von mir reinposte

Trotzdem Code von mir:

myBitmap.LoadBitmap(IDB_TEST1);

// ist eine KlassenVar vom Typ CBITMAP

myButton = new CButton(); // Objekt erzeugen

myButton->Create("Button",WS_VISIBLE,CRect(60,100,200,200),this,5000);

Modifiziere ButtonStyle, damit Bitmap gezeichnet wird

myButton->ModifyStyle(0, BS_BITMAP );

myButton->ModifyStyle(0,BS_OWNERDRAW);

myButton->SetBitmap(myBitmap); // Bitmap setzen

Also das ist jetzt bei mir aus dem Quelltext eines Progs geklaut.

Du kannst aber auch CBitmapButton so einsetzen, dann kannst du aber das ModifyStyle weglassen.

Wegen deiner Abstürze, brauche ich aber den Quelltext. Vielleicht hast du einen Zeiger oder Variable nicht deklariert, falsch deklariert etc....

Geschrieben

Servus!

Also das mit dem BitmapButton ist relativ einfach,

du benutzt die Klasse CBitmapButton,

du hast dann nur ein Bitmap auf dem Dialog, keinen ButtonRand mehr, sieht halt cool aus und kannst geile Dialoge damit basteln,

also folgendermassen, du brauchst einige Bitmaps,

mindestens 2!

Es gibt folgende Stats die ein Button haben kann:

Normal

Disabled

Gedrückt

und Focus

Du erstellst im Recourcen Editor einen Button auf deinem Dialogfeld,

nun drückst du Stgr+W, du kommst in den Klassenassistenten.

Nun öffnest du das Tab "Membervariablen", hier hast du nun unter anderem deinen Button, du doppelklickst seinen Namen.

Nun weist du deinem Button eine Membervariable zu,

die nennst du m_ctrlButton, oder so ähnlich.

Wenn du die Variable erstellt hast, öffnest du die .h Datei deines Dialoges, da scrollst du durch, irgendwo im grauen Bereich siehst du deine Membervariable, da sollte jetzt

CButton	m_ctrlButton;
stehn, du änderst das jetzt in
	CBitmapButton	m_ctrlButton;
Nun öffnest du die .cpp Datei deines Dialoges, suchst dir die ::OnInitDialog() dort schreibst du ans Ende folgenden Code
m_ctrlButton.LoadBitmaps(IDB_BITMAP1, IDB_BITMAP2, IDB_BITMAP2, IDB_BITMAP2);

Du musst davor natürlich 2 oder mehr Bitmapressourcen anlegen,

ich verwende hier 2.

Nun werden beim starten deines Dialoges die Bitmaps geladen,

nun öffnest du die Ressource für deinen Dialog, klickst den Button mit rechts an under Eigenschaften/Formate

klickst du die Checkbox "Besitzerzeichnung" an.

Nun führst du dein Prog aus, und simmsalabimm,

drin ist die Bitmap ;) wennnicht les in der MSDN nach!

bye

JO:D

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...