Zu blöd für Icons
-
Hallo,
ich versuche schon die ganze Zeit Icons in meiner MFC Anwendung zu ändern...
Hier im Forum habe ich schon gesucht und die Methode ist ja eigentlich ganz einleuchtend:HICON hIcon;
hIcon = AfxGetApp()->LoadIcon(IDI_ICONCF);
m_picture.SetIcon(hIcon);Aber was ist denn dieses m_picture genau? Ich habe das IDC_STATIC, dass das Icon anzeigt in IDC_MyIcon umbenannt und bei den Membervariablen für IDC_MyIcon die Variable m_Icon eingetragen, als Kategorie Control und als Variablentyp CStatic. Doch wenn ich im Source m_Icon. eingebe kommt schon kein Menü rauf und bei m_Icon.SetIcon(hIcon) stürzt der Compiler ab, weil er m_Icon nicht kennt.
Muss ich m_Icon irgendwo anders nochmal deklarieren???
-
m_picture ist die Member-Variable deines Picture-Controls. So wie du es gemacht hast müsste es eigentlich klappen !?
Hast du auch nicht vergessen den Style des Picture-Controls auf 'Icon' zu setzen ?Gruß
:: NoName ::
-
In der Klasse CTabDialog, auf der (bzw. dem Dialog) das Icon ist habe ich ein Picture Control. Das habe ich von IDC_STATIC in IDC_ICON_Status umbenannt und die Membervariable m_Icon, Kategorie Control, Wert CStatic gesetzt. Der Typ steht auch auf Icon.
Im Konstruktor von CTabDialog wird auch m_Icon als CStatic deklariert.
In der MyTabCtrl.cpp, in der ich das Icon ändern möchte, wird auch die CTabDialog.h included.
Dort erzeuge ich im Konstruktor ein Array von CTabDialog, weil auf jedem Tab der gleiche Dialog drauf muss.
Ein Editfeld z.B. kann ich so setzen:m_tabellenSeite[0]=new CTabDialog;
m_tabellenSeite[0]->Create(IDD_DIALOG_TAB, this);
m_tabellenSeite[0]->SetDlgItemText(IDC_EDIT_Status, "Fehler!");Und neben dem Text "Fehler!" ist halt das Icon, das entweder Rot, gelb oder grün ist, je nach Status.
In der Klassenansicht von CTabDialog ist auch m_Icon vorhanden, aber bei m_tabellenSeite[0]-> erscheint auch m_icon nicht.
Ich muss in der Methode CStatic m_Icon nochmal deklarieren, sonst meckert der Compiler wie gesagt.
-
Hmm, ich kann kein Fehler erkennen. Versuch mal den Code, vielleicht
hilft der dir weiter :HICON hIcon; hIcon = LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_ICONCF)); m_picture.SetIcon(hIcon);
Gruß
:: NoName ::
-
[Erst lesen, dann schreiben]