1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
class PathFile
{
char *Open;
char *Save;
OPENFILENAME File;
public :
void GetTitle();
char Path[MAX_PATH];
char Name[MAX_PATH];
PathFile(){}
PathFile(HWND,char *,char *);
void Init(HWND,char *,char *);
bool GetForOpen(char*);
bool GetForSave(char*);
};
PathFile::PathFile(HWND owner,char FiltreOpen[]="*.*\0*.*\0\0",char FiltreSave[]="*.*\0*.*\0\0")
{
Open=FiltreOpen;
Save=FiltreSave;
ZeroMemory(&File, sizeof(OPENFILENAME));
File.lStructSize = sizeof(OPENFILENAME);
File.hwndOwner = owner;
File.lpstrFile = Path ;
File.nMaxFile = MAX_PATH;
File.lpstrDefExt = "*.*";
File.nFilterIndex = 0 ;
File.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY ;
}
void Init(HWND owner,char FiltreOpen[],char FiltreSave[])
{
PathFile(owner,FiltreOpen,FiltreSave);
}
bool PathFile::GetForOpen(char TitleOpen[]=NULL)
{
if(TitleOpen==NULL)
File.lpstrTitle = "Ouvrir";
else
File.lpstrTitle = TitleOpen;
File.lpstrFilter = Open;
bool re =GetOpenFileName(&File);
GetTitle();
return re;
}
bool PathFile::GetForSave(char TitleSave[]=NULL)
{
if(TitleSave==NULL)
File.lpstrTitle = "Enregistrer";
else
File.lpstrTitle = TitleSave;
File.lpstrFilter = Save;
bool re = GetSaveFileName(&File);
GetTitle();
return re;
}
void PathFile::GetTitle()
{
int x=0;
for(int y = File.nFileOffset;Path[y-2]!='\0';y++,x++)
{
Name[x]=Path[y];
}
} |
Partager