CPicture Klasse verwenden
-
Also ich hab folgendes Problem.
Ich möchte einen MapEditor basteln.
Dazu möchte ich in einer Dialogbasierten MFC Anwendung am Anfang meine 9 Bilder anzeigen lassen.
Dazu könnte ich ja das Picture control nehmen aber ich möchte es nicht vom bmp abhängig machen.
Also habe ich mir die Klasse CThumbNailControl besorgt. Das Bild kann ich auch wunderbar reinladen. Das Problem ist:
Wenn ich mir der Maus draufgehe, dann wird es hervorgehoben. Ok könnte ich noch gehen lassen, aber es wird auch noch unten drunter der dateiname angezeigt.
Das Bild ist 50*50 Pixel gross. Wenn ich jetzt 50*50 auswähle, dann ist das Bild nur ca. 35*35 gross und ich hab den Dateinamen drunter. Wenn ich jetzt mein CostumControl dementsprechend verkleinere ist es auch Pfusch, da ein kleiner Rest des Dateinamen zu sehen ist.
Kennst sich jemand mit der Klasse aus? Kann ich das folgende Problem beheben?
Was Für Klassen gibt es sonst noch?
Ich habe es dann mit der CPicture Klasse versucht. Doch da komm ich auch auf keinen grünen Ast. Kann ich nicht einfach die Bilder da anzeigen lassen? z.b. per Knopfdruck. Eigentlich möchte ich schon die Bilder beim Start reinladen, aber wer weiss, maybe kann man eigene Bilder dann später auch reinladen.
Ich habe die Picture.cpp und die .h includiert.
Dann habe ich ein Custom Control erstellt. Mit eine variable namens m_pic1 erstellt. In der Header steht dann auch dran
CPicture m_pic1;
also hat das ja anscheinend geklappt.
In der OnPaint()
habe ich reingeschrieben
m_pic1.ShowBitmapResource(&dc, IDC_Test1, CPoint(0,0));
Wo muss ich jetzt das Load machen? in der Oninit oder in einer Fkt. meiner Wahl?
Ich bekomme jetzt auch folgende Fehlermeldung
k:\Visual Studio Net\MapEditor\MapEditor\MapEditorDlg.cpp(28): error C2664: 'DDX_Control' : Konvertierung des Parameters 3 von 'CPicture' in 'CWnd &' nicht möglich
Die Folgende Zeile sieht so aus
DDX_Control(pDX, IDC_Test1, m_pic1);
Warum ist das falsch? Das hat ja so MFC da reingeschrieben.
Darf ich gar nicht ein Costum Control auswählen, sondern ein Picture Control? Das Problem ist, in der Picture Control ist Rahmen zuerst eingetragen in den Eigenschaften, dort kann ich ja schlecht jpeg oder so eintragen.
Vielen Dank im voraus
-
Also kann mir bitte jemand eine Antwort geben?
Ich möchte folgendes machen
In meiner Dialogbasierten Anwendung
1. Bilder Anzeigen lassen können ( bmp, jpeg, gif würde mir reichen )
2. Das Bild dann auswählen können ( sprich mit maus draufklicken, und ich erhalte den pfad zurück )
3. Um das Bild an einer anderen Stelle wieder anzuzeigen.Wie mache ich das am besten? Kann ich das in einem Static Feld oder in einem anderen Control Feld anzeigen lassen?
Ich kann notfalls das Bild auch durch pos. ( rect ) in meinem Dialog anzeigen lassen ( wenn mir einer n Tipp gibt ), wie mache ich das dann mit der Bildauswahl?
Wenn jemand eine andere Klasse kennt, mit der meine Anforderungen sich realisieren lassen, dann nur her damit.
Wenn jemand mein Problem mit der CPicture Klasse lösen kann, dann noch besser.
-
Also kann mir bitte jemand eine Antwort geben?
Ich möchte folgendes machen
In meiner Dialogbasierten Anwendung
1. Bilder Anzeigen lassen können ( bmp, jpeg, gif würde mir reichen )
2. Das Bild dann auswählen können ( sprich mit maus draufklicken, und ich erhalte den pfad zurück )
3. Um das Bild an einer anderen Stelle wieder anzuzeigen.Wie mache ich das am besten? Kann ich das in einem Static Feld oder in einem anderen Control Feld anzeigen lassen?
Ich kann notfalls das Bild auch durch pos. ( rect ) in meinem Dialog anzeigen lassen ( wenn mir einer n Tipp gibt ), wie mache ich das dann mit der Bildauswahl?
Wenn jemand eine andere Klasse kennt, mit der meine Anforderungen sich realisieren lassen, dann nur her damit.
Wenn jemand mein Problem mit der CPicture Klasse lösen kann, dann noch besser.