| Autor |
Nachricht |
AnTri
Mitglied
Benutzerprofil
Anmeldungsdatum: 08.10.2001
Beiträge: 382
|
AnTri Mitglied
12:11:00 29.01.2002 Titel: |
CButton - Nochmals: Button mit Bitmap |
Zitieren |
Einfache Frage: Ich designe einen Dialog. Wie kann ich nun einem Button ein Symbol oder ein Bitmap zuweisen, z.B. ein Button mit dem "Rechnersymbol"?!
[ Dieser Beitrag wurde am 04.02.2002 um 09:57 Uhr von Unix-Tom editiert. ] |
Zuletzt bearbeitet von estartu am 12:59:31 16.01.2006, insgesamt 1-mal bearbeitet |
|
 |
Werbeunterbrechung
|
|
 |
Lightbringer
Mitglied
Benutzerprofil
Anmeldungsdatum: 13.12.2001
Beiträge: 85
|
Lightbringer Mitglied
12:19:00 29.01.2002 Titel: |
|
Zitieren |
Hi,
hab ich noch nicht gemacht, aber müsste in etwa so gehn.
Im Ressourcen Editor beim Button->Eigenschaften->Formate->Bitmap ankreuzen. Ein Bitmap zu den Ressourcen hinzufügen.
Dann mit
m_Button->LoadBitmap(....) //m_Button is Membervariable vom Button
hoffe das hilft dir weiter
mfg
[ Dieser Beitrag wurde am 29.01.2002 um 11:20 Uhr von Lightbringer editiert. ] |
_________________ light
uther-light@web.de
|
|
 |
AnTri
Mitglied
Benutzerprofil
Anmeldungsdatum: 08.10.2001
Beiträge: 382
|
AnTri Mitglied
12:38:00 29.01.2002 Titel: |
|
Zitieren |
Hallo, vielen Dank für den Tip..
...leider geht es so nicht. Loadbitmap ist keine Methode der CButton Klasse!!! |
|
|
|
 |
AnTri
Mitglied
Benutzerprofil
Anmeldungsdatum: 08.10.2001
Beiträge: 382
|
AnTri Mitglied
14:14:00 29.01.2002 Titel: |
|
Zitieren |
|
 |
Dommel
Mitglied
Benutzerprofil
Anmeldungsdatum: 22.09.2001
Beiträge: 522
|
Dommel Mitglied
14:20:00 29.01.2002 Titel: |
|
Zitieren |
hi,
du brauchst ne variable vom Typ CBitmap. Da gibts dann die funktion LoadBitmap. damit kannste dann n bitmap, dass du als resource hast, in die variable laden. dann kannste mit SetBitmap das bild auf dein button packen
hier mal n beispiel:
| C/C++ Code: | CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP); // IDB_BITMAP is die ID der resource
m_Button.SetBitmap(bitmap); | |
| C/C++ Code: | CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP); // IDB_BITMAP is die ID der resource
m_Button.SetBitmap(bitmap); | |
| C/C++ Code: | CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP); // IDB_BITMAP is die ID der resource
m_Button.SetBitmap(bitmap); | |
ich hoffe es funzt
m_Button->Set
[ Dieser Beitrag wurde am 29.01.2002 um 13:21 Uhr von Dommel editiert. ]
[ Dieser Beitrag wurde am 29.01.2002 um 13:23 Uhr von Dommel editiert. ] |
|
|
|
 |
AnTri
Mitglied
Benutzerprofil
Anmeldungsdatum: 08.10.2001
Beiträge: 382
|
AnTri Mitglied
14:58:00 29.01.2002 Titel: |
|
Zitieren |
hmmmh, ich bekomme beim compilieren zwar keinen Fehler, aber der Button hat auch kein Bitmap!!!
HILFE !!! |
|
|
|
 |
Lightbringer
Mitglied
Benutzerprofil
Anmeldungsdatum: 13.12.2001
Beiträge: 85
|
Lightbringer Mitglied
15:05:00 29.01.2002 Titel: |
|
Zitieren |
Hi,
du führst wahrscheinlich danach kein Update des Fensters durch. Du musst dem Fenster sagen, dass es sich nochmal neu zeichnen muss.
UpdateWindow(); müsste funzen
oder Invalidate()....ich glaub ReneG hat heute schon was dazu geschrieben.
mfg |
_________________ light
uther-light@web.de
|
|
 |
AnTri
Mitglied
Benutzerprofil
Anmeldungsdatum: 08.10.2001
Beiträge: 382
|
AnTri Mitglied
15:09:00 29.01.2002 Titel: |
|
Zitieren |
Nein, ich habe schon ein UpdateWindow drin!!!
Übrigens, ich rufe den Code in der OnInitDialog Funktion auf. Ist er dort fehl am Platz? |
|
|
|
 |
AnTri
Mitglied
Benutzerprofil
Anmeldungsdatum: 08.10.2001
Beiträge: 382
|
AnTri Mitglied
15:14:00 29.01.2002 Titel: |
|
Zitieren |
hmhhh, der Code scheint wohl an der Stelle falsch zu sein. Für ich den Code z.B. in einer Funktion aus klappt alles.
Das Problem ist nur, dass es halt beim Dialogstart sein sollte. Wie kann ich dass hinkriegen?????????
[ Dieser Beitrag wurde am 29.01.2002 um 14:14 Uhr von AnTri editiert. ] |
|
|
|
 |
Dommel
Mitglied
Benutzerprofil
Anmeldungsdatum: 22.09.2001
Beiträge: 522
|
Dommel Mitglied
15:59:00 29.01.2002 Titel: |
|
Zitieren |
probier mal dass du für CBitmap ne membervariable nimmst und keine 'normale', in der funktion deklarierte variable.
also bei mir funzt es zumindest damit, auch in InitDialog |
|
|
|
 |
Phoenix
Mitglied
Benutzerprofil
Anmeldungsdatum: 31.05.2001
Beiträge: 296
|
Phoenix Mitglied
16:28:00 29.01.2002 Titel: |
|
Zitieren |
Versuch es doch statt mit nem Bitmap mit einem Icon. Das kannst du so laden.
| C/C++ Code: | HICON hIcon= AfxGetApp()->LoadIcon(IDI_Euro);
m_CtrlEuro.SetIcon(hIcon); | |
| C/C++ Code: | HICON hIcon= AfxGetApp()->LoadIcon(IDI_Euro);
m_CtrlEuro.SetIcon(hIcon); | |
| C/C++ Code: | HICON hIcon= AfxGetApp()->LoadIcon(IDI_Euro);
m_CtrlEuro.SetIcon(hIcon); | |
IDI_Euro ist der name des Icons und m_CtrlEuro ist die Control Variable des Buttons.
(Ich selbst hab das für einen Euro umrechner benutzt).
Falls es mit dem Bitmap nicht klappt versuch es halt so. So müsste es klappen.
Mfg, Heiko |
_________________ [X] <-- Nail here for new Monitor
|
|
 |
AnTri
Mitglied
Benutzerprofil
Anmeldungsdatum: 08.10.2001
Beiträge: 382
|
AnTri Mitglied
17:29:00 29.01.2002 Titel: |
|
Zitieren |
Das mit der Member-Variable funktioniert auch im OnInit tadellos. Die Frage ist nur warum geht es nur mit einer Member...
Vielen Dank für die große Hilfe und die vielen Beiträge. |
|
|
|
 |
pho_no
Mitglied
Benutzerprofil
Anmeldungsdatum: 18.10.2001
Beiträge: 84
|
pho_no Mitglied
14:52:00 31.01.2002 Titel: |
|
Zitieren |
Kleine frage...
wie bekomm ich den ein Bitmap als resource? bzw. wie weis ich dem Bitmap eine ID zu? |
|
|
|
 |
TimoL
Mitglied
Benutzerprofil
Anmeldungsdatum: 22.05.2001
Beiträge: 148
|
TimoL Mitglied
15:22:00 31.01.2002 Titel: |
|
Zitieren |
Nur mit einer Member, weil sonst das Bitmap nach verlassen der Methode wieder futsch ist....
oder sehe ich das falsch?!? |
|
|
|
 |
Dommel
Mitglied
Benutzerprofil
Anmeldungsdatum: 22.09.2001
Beiträge: 522
|
Dommel Mitglied
15:41:00 31.01.2002 Titel: |
|
Zitieren |
@timo:
denk ich auch, dass das dann futsch is
@pho_no:
bei den rsourcen ob mit rechts auf 'DeinProg Resourcen *' klicken. da dann 'einfügen', 'bitmap' und 'neu'. schon haste n neues bitmap in den resourcen. mit rechtsklick auf das bitmap und dann auf eigenschaften kannste die ID ändern |
|
|
|
 |
Unix-Tom
Moderator
Benutzerprofil
Anmeldungsdatum: 18.07.2000
Beiträge: 10398
|
Unix-Tom Moderator
21:24:00 31.01.2002 Titel: |
|
Zitieren |
| C/C++ Code: | HBITMAP eigenbitmap;
eigenbitmap = ::LoadBitmap(::AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_BITMAP1));
CButton* pbmp = (CButton*) GetDlgItem(IDC_BUTTON1);
pbmp->SendMessage(BM_SETIMAGE, IMAGE_BITMAP, (LONG) eigenbitmap); | |
| C/C++ Code: | HBITMAP eigenbitmap;
eigenbitmap = ::LoadBitmap(::AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_BITMAP1));
CButton* pbmp = (CButton*) GetDlgItem(IDC_BUTTON1);
pbmp->SendMessage(BM_SETIMAGE, IMAGE_BITMAP, (LONG) eigenbitmap); | |
| C/C++ Code: | HBITMAP eigenbitmap;
eigenbitmap = ::LoadBitmap(::AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_BITMAP1));
CButton* pbmp = (CButton*) GetDlgItem(IDC_BUTTON1);
pbmp->SendMessage(BM_SETIMAGE, IMAGE_BITMAP, (LONG) eigenbitmap); | |
Der Code ist selbsterklärend und einfach in die oninitdialog einbauen |
_________________ Moderator für MFC, Linux, C# - NET und Datenbanken
|
|
 |