Comroader Geschrieben 31. Januar 2002 Geschrieben 31. Januar 2002 Hallöchen, Weiß jemand von euch wie man ein Bitmap auf einen Button in der MFC legt, bei mir kommt immer eine Speicherfehler. Vielen Dank im voraus !!! P.S: Es lebe das Danke² Zitieren
bowo Geschrieben 31. Januar 2002 Geschrieben 31. Januar 2002 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.... Zitieren
ffGebaeck Geschrieben 31. Januar 2002 Geschrieben 31. Januar 2002 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 Zitieren
Empfohlene Beiträge
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.