laden von bitmap
-
Hallo,
wenn ich ein Bitmap in meine Anwendung laden möchte, funktioniert das erst beim zweiten anlauf. d.h. er läd das erste bild erst wenn ich das zweite zum anzeigen ausgewählt habe. meiner meinung nch spinnt der speicher aber ich weiss nicht wie ich den so verändern kann das er das bitmap direkt läd.

Hoffentlich weiss einer von euch wie.
Danke
-
Kobold schrieb:
Hoffentlich weiss einer von euch wie.
Ohne deinen Code? Nö!
-
z.B:
CFileDialog m_ldFile(TRUE, ".bmp", m_sBitmap,
OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, _T("Bitmap-Dateien (.bmp)|.bmp||"),this);
// Dialogfeld Öffnen anzeigen und Ergebnis übernehmen
if (m_ldFile.DoModal() == IDOK)
{
MessageBox(m_ldFile.GetPathName(), "Pfad der Datei", MB_OK|MB_ICONINFORMATION);m_dbitmapdlg.DoModal();
// Gewählten Dateinamen ermitteln
m_sBitmap = m_ldFile.GetPathName();
// Gewählte Bitmap-Datei laden
HBITMAP hBitmap = (HBITMAP) ::LoadImage(AfxGetInstanceHandle(),
m_sBitmap, IMAGE_BITMAP, 0, 0,
LR_LOADFROMFILE | LR_CREATEDIBSECTION);// Ist Handle für das geladene Bild gültig?
if (hBitmap)
{
MessageBox("");
// Aktuelles Bitmap löschen
if (m_bmpBitmap.DeleteObject())
// War Bitmap vorhanden, lösen
m_bmpBitmap.Detach();
// Aktuell geladenes Bitmap mit Bitmap-Objekt verbinden
m_bmpBitmap.Attach(hBitmap);
}
}
-
das mit der Messagebox habe ich nur rein gesetzt um zusehen wann er die if-schleife aufruft.
den letzten teil ruft er viel zu spät auf obwohl der zum anzeigen wichtig wäre, oder??
Übrigens ist das der code zum öffnen des zweiten dialogfeldes per button
-
Warum machst du für das gleiche Problem einen neuen Thread auf.
Auch habe ich dir die Lösung im anderen Thread bereits gesagt und du hast sie nicht umgesetzt.

-
Hallo,
weil mir wie ich im anderen schon erwähnte, nichts richtig weiter geholfe hat und ich es gerne besser erklärt haben wollte, als wie es im FAQ steht.
Mittlerweile lässt sich ja das bitmap anzeigen, aber halt nicht gleich ....
-
kann mir den wirklich keiner helfen,
bin ich einfach zu blöd den FAQ zuverstehen....
-
Kobold schrieb:
kann mir den wirklich keiner helfen,
oder bin ich einfach zu blöd den FAQ zuverstehen....