FILEDIAL.H
上传用户:wtrl82617
上传日期:2007-01-07
资源大小:187k
文件大小:5k
源码类别:

界面编程

开发平台:

DOS

  1. #ifndef __FILEDIAL_H
  2. #define __FILEDIAL_H
  3. #include "dialog.h"
  4. #include "dir.h"
  5. #include "yyxctrl.h"
  6. #include "tedit.h"
  7. #include "tstatic.h"
  8. #include "listscrl.h"
  9. #define FILESPEC MAXPATH + MAXEXT
  10. #define MAXFILES 150
  11. #define MAXDIRES 150
  12. #define SD_FILEOPEN 0
  13. #define SD_FILESAVE 1
  14. #define EDIT_ID   11
  15. #define FILES_ID  22
  16. #define DIRES_ID  33
  17. typedef class filedial_class Tfiledial;
  18. typedef char FILENAMESTRING[40];
  19. class filedial_class :public Tdialog {
  20. public:
  21. // controls
  22. Ttedit    *file_tedit;
  23. Tstatic   *dir_tstatic;
  24. Tlistscrl *files_listscrl;
  25. Tlistscrl *dires_listscrl;
  26. char *achFile; // used at Quit From the Dialog, as the Path of File
  27. // attributes
  28. int  dial_type; //SD_FILEOPEN or SD_FILESAVE
  29. int  filesnum;
  30. int  diresnum;
  31. char *files[MAXFILES];
  32. char *dires[MAXDIRES];
  33. // LPSTR FilePath;
  34. char pathname [150];
  35. char dirname  [150];
  36. char wildcards [150];
  37. char edit_filename [150];
  38. // char PathName[MAXPATH];
  39. //  char Extension[MAXEXT];
  40. // char FileSpec[FILESPEC];
  41. public:
  42. filedial_class(int ID,char *title,int left,int top,int width,int height,
  43. int atype, char * apath);
  44. virtual ~filedial_class ();
  45. virtual int  msg_handler (MSG& message);
  46. virtual BOOL func_canclose();
  47. protected:
  48. // used for the string operation
  49. int    analyse_edit_filename(char *buf);
  50. BOOL   filedial_class::change_edit_filename();
  51. BOOL  filedial_class::disk_ready (int disk_num );
  52. void  filedial_class::updatelists();
  53. BOOL   haswildcards(char *pathname);
  54. char *  getfilename(char *pathname);
  55. int  filedial_class::get_sub_dires (char *dir_name,char **sub_dires) ;
  56. int  filedial_class::get_sub_files (char *path_name,char **sub_files);
  57. };
  58. /*
  59. SD_FILEOPEN DIALOG DISCARDABLE LOADONCALL PURE MOVEABLE 20, 24, 202, 130
  60. STYLE WS_TILED | WS_CAPTION | WS_SYSMENU | DS_SETFONT | DS_MODALFRAME
  61. CAPTION "File Open"
  62. FONT 8, "Helv"
  63. BEGIN
  64.   CONTROL "File&name:" -1, "STATIC", WS_CHILD | WS_VISIBLE | WS_GROUP, 6, 8, 36, 10
  65.   CONTROL "" ID_FNAME, "EDIT", ES_OEMCONVERT | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP | ES_AUTOHSCROLL, 42, 6, 98, 12
  66.   CONTROL "Directory:" -1, "STATIC", WS_CHILD | WS_VISIBLE | WS_GROUP, 6, 20, 36, 10
  67.   CONTROL "" ID_FPATH, "STATIC", WS_CHILD | WS_VISIBLE | WS_GROUP, 42, 20, 98, 10
  68.   CONTROL "&Files:" -1, "STATIC", WS_CHILD | WS_VISIBLE | WS_GROUP, 6, 32, 64, 10
  69.   CONTROL "" ID_FLIST, "LISTBOX", WS_CHILD | WS_VISIBLE | WS_TABSTOP | LBS_STANDARD, 6, 44, 64, 82
  70.   CONTROL "&Directories:" -1, "STATIC", WS_CHILD | WS_VISIBLE | WS_GROUP, 76, 32, 64, 10
  71.   CONTROL "" ID_DLIST, "LISTBOX", WS_CHILD | WS_VISIBLE | WS_TABSTOP | LBS_STANDARD, 76, 44, 64, 82
  72.   CONTROL "&OK" IDOK, "BUTTON", WS_CHILD | WS_VISIBLE | WS_TABSTOP | BS_DEFPUSHBUTTON, 146, 5, 50, 14
  73.   CONTROL "&Cancel" IDCANCEL, "BUTTON", WS_CHILD | WS_VISIBLE | WS_TABSTOP, 146, 23, 50, 14
  74. END
  75. SD_FILESAVE DIALOG DISCARDABLE LOADONCALL PURE MOVEABLE 20, 24, 202, 130
  76. STYLE WS_TILED | WS_CAPTION | WS_SYSMENU | DS_SETFONT | DS_MODALFRAME
  77. CAPTION "File Save As"
  78. FONT 8, "Helv"
  79. BEGIN
  80.   CONTROL "File&name:" -1, "STATIC", WS_CHILD | WS_VISIBLE | WS_GROUP, 6, 8, 36, 10
  81.   CONTROL "" ID_FNAME, "EDIT", ES_OEMCONVERT | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP | ES_AUTOHSCROLL, 42, 6, 98, 12
  82.   CONTROL "Directory:" -1, "STATIC", WS_CHILD | WS_VISIBLE | WS_GROUP, 6, 20, 36, 10
  83.   CONTROL "" ID_FPATH, "STATIC", WS_CHILD | WS_VISIBLE | WS_GROUP, 42, 20, 98, 10
  84.   CONTROL "&Directories:" -1, "STATIC", WS_CHILD | WS_VISIBLE | WS_GROUP, 6, 32, 64, 10
  85.   CONTROL "" ID_DLIST, "LISTBOX", WS_CHILD | WS_VISIBLE | WS_TABSTOP | LBS_STANDARD, 6, 44, 64, 82
  86.   CONTROL "&OK" IDOK, "BUTTON", WS_CHILD | WS_VISIBLE | WS_TABSTOP | BS_DEFPUSHBUTTON, 146, 5, 50, 14
  87.   CONTROL "&Cancel" IDCANCEL, "BUTTON", WS_CHILD | WS_VISIBLE | WS_TABSTOP, 146, 23, 50, 14
  88. END
  89. */
  90. /* TFileDialog *ptFileOpen;
  91. strcpy (achFile,"*.bmp");
  92. ptFileOpen =new TFileDialog (this,SD_FILEOPEN, achFile, NULL );
  93. iRetVal =GetApplication() -> ExecDialog ( ptFileOpen );
  94. if (iRetVal != IDOK ) return ;
  95. */
  96. /*
  97. TFileDialog *ptFileSaveAs;
  98. strcpy (achFile,"*.*");
  99. ptFileSaveAs =new TFileDialog (this ,SD_FILESAVE, achFile, NULL );
  100. iRetVal =GetApplication() -> ExecDialog ( ptFileSaveAs );
  101. if (iRetVal == IDOK ) {
  102. MessageBox( Msg.Receiver, achFile, "  User Pressed Ok ", MB_OK );
  103. } else {
  104. MessageBox( Msg.Receiver, achFile, "  User Pressed Cancel ", MB_OK );
  105. }
  106. */
  107. /*
  108. class _EXPORT TFileDialog : public TDialog
  109. {
  110. public:
  111. LPSTR FilePath;
  112. char PathName[MAXPATH];
  113. char Extension[MAXEXT];
  114. char FileSpec[FILESPEC];
  115. TFileDialog(PTWindowsObject AParent, int ResourceId, LPSTR AFilePath,
  116. PTModule AModule = NULL);
  117. virtual BOOL CanClose();
  118. void SelectFileName();
  119. void UpdateFileName();
  120. BOOL UpdateListBoxes();
  121. static PTStreamable build();
  122. protected:
  123. virtual void SetupWindow();
  124. virtual void HandleFName(RTMessage Msg)
  125.   = [ID_FIRST + ID_FNAME];
  126. virtual void HandleFList(RTMessage Msg)
  127.   = [ID_FIRST + ID_FLIST];
  128. virtual void HandleDList(RTMessage Msg)
  129.   = [ID_FIRST + ID_DLIST];
  130. TFileDialog(StreamableInit) : TDialog(streamableInit) {};
  131. private:
  132. virtual const Pchar streamableName() const
  133. { return "TFileDialog"; }
  134. };
  135. */
  136. #endif