000
29.04.2005, 15:43 Uhr
RedEagle
|
Hi Ich möchte durch den "Datei öffnen" - Dialog an den Datei-name einer Bitmap-datei kommen.
Da es anfangts nicht funktionierte, habe ich hier im Forum gesucht, und gefunden; und dann gefunden code umgestellt:
C++: |
bool LoadObjectX(char object[100], HWND hwnd) //anderer Funktionskopf { static OPENFILENAME ofn;
char cDatei[100], cDateiPfad[500]; static TCHAR Filter[] = TEXT ("Object (Bitmap)\0*.bmp\0\0"); //andere endung
cDateiPfad[0] = '\0'; cDatei[0] = '\0';
ZeroMemory(&ofn, sizeof(ofn)); ofn.lStructSize = sizeof(ofn); ofn.hwndOwner = hwnd; //hab aus "NULL" "hwnd" gemacht, damit der Dialog auf dem Fenster ist ofn.nMaxFile = sizeof(cDateiPfad); ofn.lpstrFile = cDateiPfad; ofn.lpstrFilter = Filter; ofn.nFilterIndex = 0; ofn.lpstrFileTitle = cDatei; ofn.nMaxFileTitle = sizeof(cDatei); ofn.lpstrInitialDir = NULL;
ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST if (GetOpenFileName(&ofn) == 0) return false; if (ofn.lpstrFile == "") return false; strcpy(object,cDatei);
//return ofn.lpstrFile; return true; }
|
Wenn ich jetzt die Funktion aufrufe, kann ich mir eine Datei auswählen, und auf Öffnen klicken. ABER dann wird das Programm EXTREM langsam, wenn ich z.B. auf das [X] in der Titelleiste klicke, um das Programm zu beenden, dauert das fast 30 Sekunden, auf Tasten reagiert das Programm (glaub'ich) garnichtmehr
Was ist falsch?? -- MFG RedEagle |