|
You last visited: Today at 22:40
Advertisement
::GetOpenFileName/::GetSaveFileName
Discussion on ::GetOpenFileName/::GetSaveFileName within the General Coding forum part of the Coders Den category.
03/31/2010, 11:46
|
#1
|
elite*gold: 0
Join Date: Oct 2008
Posts: 1,637
Received Thanks: 1,119
|
::GetOpenFileName/::GetSaveFileName
da ich mich jetz endlich ma mit gui beschäftige (also nich nur aus resourcen, oder mit mfc), habe ich jetz ein problem!
wenn ich auf nen button klicke, und eine von den funktionen aufrufe, dann öffnet sich das fenster. aber wenn ich im menü die funktion mit den gleichen parametern aufrufe, dann passiert garnix
kann mir dabei irgendwer helfen?
|
|
|
03/31/2010, 13:52
|
#2
|
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
|
Ein bisschen Quellcode würde helfen zu helfen
|
|
|
03/31/2010, 14:55
|
#3
|
elite*gold: 0
Join Date: Oct 2008
Posts: 1,637
Received Thanks: 1,119
|
Code:
void LoadArchive(HWND hWnd)
{
OPENFILENAME ofn;
ZeroMemory(&ofn, sizeof(OPENFILENAME));
ofn.lStructSize = sizeof(OPENFILENAME);
char szFile[260];
ofn.hwndOwner = hWnd;
ofn.lpstrFile = szFile;
ofn.nMaxFile = 260;
ofn.lpstrFilter = "CX4 Dateien (*.CX4)\0*.CX4\0";
ofn.nFilterIndex = 1;
ofn.lpstrFileTitle = NULL;
ofn.nMaxFileTitle = 0;
ofn.lpstrInitialDir = NULL;
ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;
if(::GetOpenFileName(&ofn)==TRUE)
{
FILE* pFile = fopen((char*)ofn.lpstrFile,"rb");
if(!pFile)
return;
nCount = 0;
ListView_DeleteAllItems(hWnd_LstFiles);
files.clear();
while(1)
{
if(feof(pFile)) break;
int nName;
fread(&nName,1,sizeof(int),pFile);
char* cName = new char[nName];
fread(&cName,1,nName,pFile);
int nData;
fread(&nData,1,sizeof(int),pFile);
char* cData = new char[nData];
fread(&cData,1,nData,pFile);
int nSize = GetDecompressedBufferSize(&cData);
char* content = new char[nSize];
if(DecompressBuffer(&cData,&content)==0)
break;
AddFileToList(cName,nSize,content);
}
fclose(pFile);
}
}
der dialog öffnet sich wie gesagt nur bei nem button!
in der wndproc:
Code:
case ID_MENU_FILE_OPEN:
{
LoadArchive(hWndMain);
}break;
case ID_BUTTON_OPEN:
{
LoadArchive(hWndMain);
}break;
also 2 mal der gleiche aufruf!
nur der untere klappt!
|
|
|
03/31/2010, 15:20
|
#4
|
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
|
Okay hast du schon geprüft, ob im switch-Vergleich die Vergleichsvariable auch wirklich ID_MENU_FILE_OPEN ist? Wäre jetzt der einfachste Fehler, wenn du das vergessen hättest davor zu setzen.
|
|
|
03/31/2010, 15:23
|
#5
|
elite*gold: 0
Join Date: Oct 2008
Posts: 1,637
Received Thanks: 1,119
|
Quote:
Originally Posted by xNopex
Okay hast du schon geprüft, ob im switch-Vergleich die Vergleichsvariable auch wirklich ID_MENU_FILE_OPEN ist? Wäre jetzt der einfachste Fehler, wenn du das vergessen hättest davor zu setzen.
|
jo das is sie, ich hatte in der funktion auch ne message box direkt vor dem GetOpenFileName drin, die wurde bei beidem gecalled
|
|
|
03/31/2010, 15:26
|
#6
|
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
|
Lustig  Übergeb mal bei LoadArchive als Parameter NULL, vllt. ist dein Handle aus irgendeinem grund dort nicht valid.
|
|
|
03/31/2010, 15:46
|
#7
|
elite*gold: 0
Join Date: Oct 2008
Posts: 1,637
Received Thanks: 1,119
|
Quote:
Originally Posted by xNopex
Lustig  Übergeb mal bei LoadArchive als Parameter NULL, vllt. ist dein Handle aus irgendeinem grund dort nicht valid.
|
sollte eigendlich, is nen globales handle....
aber ich versuchs trotzdem mal xD
edit: komisch.... aufeinmal klappt es.... und ich habe an dem teil vom code nichts verändert (auch nichts was mit dem handle zutun hat)
|
|
|
04/02/2010, 19:33
|
#8
|
elite*gold: 20
Join Date: Sep 2006
Posts: 1,100
Received Thanks: 184
|
Eventuell das file vorm Compilieren nicht gespeichert? Oder aus alten Objekt Datein gelinkt weil du nicht auf neu erstellen geklickt hast :P
|
|
|
Similar Threads
|
GetOpenFileName-hilfe
10/19/2009 - AutoIt - 4 Replies
hey leute.
bin grad am bot schreiben und hänge jetzt am simplem problem fest.
ich habe $input 1 und durchsuchen func
wie kann ich nun auswählen,das dieser dies dann auch einfügt,nach dem er es ausgewählt hat
mit GuiCtrlSetData?
wenn ja wie^^
|
All times are GMT +1. The time now is 22:41.
|
|