D
Auf jeden Fall ist da ein Fehler, das sollte C:\\test.txt heißen. Also Doppel-Backslash.
Ups, da habe ich mich wohl vertan, die Funktion soll natürlich einen Dateiname bekommen, keinen erwarten
// Returns an empty string if dialog is canceled
void openfilename(char* filter,char*Title,char*path ) {
OPENFILENAME ofn;
char* fileName = path;
fileName[0]='\0';
ZeroMemory(&ofn, sizeof(ofn));
ofn.lStructSize = sizeof(OPENFILENAME);
ofn.hwndOwner = g_window->hWnd;
ofn.lpstrFilter = filter;
ofn.lpstrFile = fileName;
ofn.nMaxFile = MAX_PATH;
ofn.Flags = OFN_FILEMUSTEXIST ; //ofn.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
ofn.lpstrTitle=Title;
ofn.lpstrDefExt = "";
int err=GetOpenFileName(&ofn) ;
}
std::string OpenFileDialog(char* filter,char*Title)
{
char fileName[MAX_PATH];
openfilename(filter,Title,fileName);
std::string file=fileName;
int i=0;
return file;
}
Error Handling habe ich hier noch nicht...
Aufruf:
std::string File=OpenFileDialog("DarkEngine Models (*.DEm)\0*.Dem\0","Select a Model:");
Es scheint doch zu gehen, bei optimierter Geschwindigkeit kann der nur nicht die Werte richtig anzeigen ><
Der Fehler lag scheinbar in der Ladefunktion, danach habe ich die Geschwindigkeits-Optimierung aus gelassen...
Nochwas, wenn ich in dem FileDialog auf den Arbeitsplatz gehe, ist diese leer, äußerst unpraktisch ><
Wie kann ich das machen, dass er mir dann die Laufwerke ("C:","D:","G:",...) anzeigt ?