Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » "Datei öffnen" - Dialog macht Probleme

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
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
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
29.04.2005, 15:54 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


ofn.nMaxFileTitle = sizeof(cDatei);


das ist falsch weil sizeof 4 liefert. da muss = 100 hin.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
29.04.2005, 16:07 Uhr
RedEagle



ok, hab ich für char cDatei und cDateiPfad gemacht, geht aber immer noch nicht flüssiger
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: