Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

108 lines
2.6 KiB

  1. // Copyright (C) 1996-1997 Microsoft Corporation. All rights reserved.
  2. //
  3. // SAMPLE.H
  4. //
  5. #if _MSC_VER > 1000
  6. #pragma once
  7. #endif
  8. #ifndef __SAMPLE_H__
  9. #define __SAMPLE_H__
  10. #ifndef CHIINDEX
  11. BOOL ProcessSample(PCSTR szSFLFilePath,PCSTR szSampleBaseUrl,PCSTR cszDialogTitle, CHtmlHelpControl* pCtl, BOOL bCompressed);
  12. #else
  13. #define ProcessSample
  14. #endif
  15. BOOL SampleDlgProc(HWND hWnd, UINT uiMsg, WPARAM wParam, LPARAM lParam);
  16. LPSTR CatPath(LPSTR lpTop, LPCSTR lpTail);
  17. #define SAMPLE_ROOT "samples"
  18. #define MAX_PATHLEN 256
  19. #define SAMPLE_COPY_SUCCESS 1
  20. #define SAMPLE_COPY_ERRORS 2
  21. #define SAMPLE_COPY_CANCEL 3
  22. #define COPY_BUFFER_SIZE 32768
  23. typedef struct _SampleData
  24. {
  25. char* pszFileName;
  26. unsigned long dwSize;
  27. BOOL bCopy;
  28. BOOL bRun;
  29. INT iFlags;
  30. _SampleData* pNext;
  31. }SAMPLE_DATA;
  32. #define SAMP_BINARY 1
  33. #define SAMP_VIEWABLE 2
  34. extern HINSTANCE ghInstance;
  35. class CSampleDialog
  36. {
  37. public:
  38. CSampleDialog();
  39. ~CSampleDialog();
  40. // Sample copy dialog helpers
  41. void FillDrives(HWND hWnd);
  42. void FillDirs(HWND hWnd, HWND hWndStatic);
  43. void SelectDrive(HWND hWnd);
  44. void SelectDirectory(HWND hWnd);
  45. void DirectoryDrawItem(LPDRAWITEMSTRUCT lpDS);
  46. void DriveDrawItem(LPDRAWITEMSTRUCT lpDS);
  47. void SetAllFonts(HWND hWnd);
  48. // dlgprocs
  49. BOOL SampleCopyProc(HWND hWnd, UINT uiMsg, WPARAM wParam, LPARAM lParam);
  50. BOOL SampleDlgProc(HWND hWnd, UINT uiMsg, WPARAM wParam, LPARAM lParam);
  51. // Initial data setup
  52. VOID AddSample (SAMPLE_DATA *p);
  53. BOOL ParseDatFile(char *p);
  54. // Misc functions
  55. void FoldWindow(HWND hWnd);
  56. BOOL CheckCD(TCHAR *lpFileName);
  57. // CIvAutoObject * m_IvAutoObj;
  58. UINT m_iDir;
  59. UINT m_drivetypes[26];
  60. TCHAR m_szDir[MAX_PATHLEN * 2];
  61. TCHAR m_szOemPath[MAX_PATHLEN * 2];
  62. TCHAR m_szDrive[26];
  63. INT m_TextCharWidth;
  64. TCHAR m_szBaseDir[MAX_PATHLEN * 2];
  65. BOOL m_bSetDefPath;
  66. SAMPLE_DATA* m_pFirstSample;
  67. TCHAR m_szDefSamplePath[MAX_PATHLEN * 2];
  68. BOOL m_bCopyAllSamples;
  69. BOOL m_bCompressed;
  70. TCHAR m_szURL[INTERNET_MAX_URL_LENGTH];
  71. TCHAR m_szSmplPath[MAX_PATHLEN * 2];
  72. TCHAR m_szDialogTitle[100];
  73. HIMAGELIST m_hImageList;
  74. HFONT m_hJapaneseFont;
  75. CHtmlHelpControl* m_pHtmlHelpCtl;
  76. };
  77. class COverwriteDlg : public CDlg
  78. {
  79. public:
  80. COverwriteDlg(HWND hwndParent, char *pszName) : CDlg(hwndParent, IDD_SAMPLE_EXIST)
  81. {
  82. if(pszName)
  83. pszFileName = pszName;
  84. else
  85. pszFileName = "";
  86. }
  87. BOOL OnBeginOrEnd();
  88. private:
  89. char* pszFileName;
  90. };
  91. #endif // __SAMPLE_H__