APTCLIEN.H
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:6k
源码类别:

Windows编程

开发平台:

Visual C++

  1. /*+==========================================================================
  2.   File:      APTCLIEN.H
  3.   Summary:   Main include file for the APTCLIEN executable. In addition to
  4.              class definitions, this APTCLIEN.H file contains definitions
  5.              of the application's menu, string, and other resource IDs.
  6.              Based largely on the LOCCLIEN.EXE source code, this include
  7.              file adds resource IDs for the set of menus for exercising
  8.              the several COM Components manipulated in this code sample
  9.              as a COM Client of those components housed the the APTSERVE
  10.              apartment threaded local server.
  11.              For a comprehensive tutorial code tour of APTCLIEN's contents
  12.              and offerings see the tutorial APTCLIEN.HTM file. For more
  13.              specific technical details on the internal workings see the
  14.              comments dispersed throughout the APTCLIEN source code.
  15.   Classes:   CMainWindow
  16.   Functions: WinMain
  17.   Origin:    3-20-96: atrent - Editor-inheritance from the LOCCLIEN source.
  18. ----------------------------------------------------------------------------
  19.   This file is part of the Microsoft COM Tutorial Code Samples.
  20.   Copyright (C) Microsoft Corporation, 1997.  All rights reserved.
  21.   This source code is intended only as a supplement to Microsoft
  22.   Development Tools and/or on-line documentation.  See these other
  23.   materials for detailed information regarding Microsoft code samples.
  24.   THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
  25.   KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  26.   IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  27.   PARTICULAR PURPOSE.
  28. ==========================================================================+*/
  29. #if !defined(APTCLIEN_H)
  30. #define APTCLIEN_H
  31. #ifdef __cplusplus
  32. extern CMsgLog* g_pMsgLog;
  33. /*C+C+++C+++C+++C+++C+++C+++C+++C+++C+++C+++C+++C+++C+++C+++C+++C+++C+++C+++C
  34.   Class:    CMainWindow
  35.   Summary:  Class to encapsulate the application's main window, menu, and
  36.             message dispatching behavior.
  37.   Methods:  CMainWindow
  38.               Constructor.
  39.             InitInstance
  40.               Creates a new instance of the main window.
  41. C---C---C---C---C---C---C---C---C---C---C---C---C---C---C---C---C---C---C-C*/
  42. class CMainWindow: public CVirWindow
  43. {
  44. public:
  45.   CMainWindow();
  46.   ~CMainWindow();
  47.   BOOL InitInstance(HINSTANCE, int);
  48.   TCHAR m_szFileName[MAX_PATH];
  49.   CMsgBox*  m_pMsgBox;
  50.   CMsgLog*  m_pMsgLog;
  51.   // A method for getting an interface on a COM object.
  52.   BOOL GetInterface(IUnknown* pObj, REFIID riid, PPVOID ppv);
  53.   // Some member variables to store pointers to Car-like COM Objects.
  54.   // We save pointers to each COM objects controlling IUnknown.
  55.   IUnknown* m_pCar;
  56.   IUnknown* m_pUtilityCar;
  57.   IUnknown* m_pCruiseCar;
  58.   IUnknown* m_pUtilityCruiseCar;
  59. protected:
  60.   LRESULT WindowProc(UINT uMsg, WPARAM wParam, LPARAM lParam);
  61. private:
  62.   LRESULT DoMenu(WPARAM wParam, LPARAM lParam);
  63.   WORD m_wWidth;
  64.   WORD m_wHeight;
  65.   TCHAR m_szHelpFile[MAX_PATH];
  66.   TCHAR m_szFileTitle[MAX_PATH];
  67.   TEXTMETRIC m_tm;
  68.   OPENFILENAME m_ofnFile;
  69. };
  70. #endif // __cplusplus
  71. // Window Class String Macros.
  72. #define MAIN_WINDOW_TITLE_STR       "APTCLIEN: Tutorial Code Sample"
  73. #define MAIN_WINDOW_CLASS_NAME_STR  "APTCLIENWindow"
  74. #define MAIN_WINDOW_CLASS_MENU_STR  "APTCLIENMenu"
  75. #define SERVER_WINDOW_TITLE_STR     "APTSERVE: Tutorial Code Sample"
  76. // File Name String Macros.
  77. #define SERVER_TUTFILE_STR          "aptserve.htm"
  78. #define MARSHAL_TUTFILE_STR         "marshal.htm"
  79. // OpenFile-related String Macros.
  80. #define OFN_DEFAULTFILES_STR "All Files (*.*)*.*"
  81. #define OFN_DEFAULTTITLE_STR "Open File"
  82. // File Menu Command Identifiers.
  83. #define IDM_FILE_EXIT               1000
  84. // Car Menu Command Identifiers.
  85. #define IDM_CAR_CREATE              1100
  86. #define IDM_CAR_RELEASE             1101
  87. #define IDM_CAR_SHIFT               1102
  88. #define IDM_CAR_CLUTCH              1103
  89. #define IDM_CAR_SPEED               1104
  90. #define IDM_CAR_STEER               1105
  91. // UtilityCar Menu Command Identifiers.
  92. #define IDM_UCAR_CREATE             1200
  93. #define IDM_UCAR_RELEASE            1201
  94. #define IDM_UCAR_SHIFT              1202
  95. #define IDM_UCAR_CLUTCH             1203
  96. #define IDM_UCAR_SPEED              1204
  97. #define IDM_UCAR_STEER              1205
  98. #define IDM_UCAR_OFFROAD            1206
  99. #define IDM_UCAR_WINCH              1207
  100. // CruiseCar Menu Command Identifiers.
  101. #define IDM_CCAR_CREATE             1300
  102. #define IDM_CCAR_RELEASE            1301
  103. #define IDM_CCAR_SHIFT              1302
  104. #define IDM_CCAR_CLUTCH             1303
  105. #define IDM_CCAR_SPEED              1304
  106. #define IDM_CCAR_STEER              1305
  107. #define IDM_CCAR_ENGAGE             1306
  108. #define IDM_CCAR_ADJUST             1307
  109. // UtilityCruiseCar Menu Command Identifiers.
  110. #define IDM_UCRU_CREATE             1400
  111. #define IDM_UCRU_RELEASE            1401
  112. #define IDM_UCRU_SHIFT              1402
  113. #define IDM_UCRU_CLUTCH             1403
  114. #define IDM_UCRU_SPEED              1404
  115. #define IDM_UCRU_STEER              1405
  116. #define IDM_UCRU_ENGAGE             1406
  117. #define IDM_UCRU_ADJUST             1407
  118. #define IDM_UCRU_OFFROAD            1408
  119. #define IDM_UCRU_WINCH              1409
  120. // Log Menu Command Identifiers.
  121. #define IDM_LOG_LOGCLEAR            1890
  122. #define IDM_LOG_LOGGING             1891
  123. #define IDM_LOG_COPYCLIP            1892
  124. // Help Menu Command Identifiers.
  125. #define IDM_HELP_CONTENTS           1900
  126. #define IDM_HELP_TUTORIAL           1901
  127. #define IDM_HELP_TUTSERVER          1902
  128. #define IDM_HELP_TUTMARSHAL         1903
  129. #define IDM_HELP_READSOURCE         1904
  130. #define IDM_HELP_ABOUT              1905
  131. #define IDM_HELP_ABOUTSERVER        1906
  132. // Error-related String Identifiers.
  133. #define IDS_COMINITFAILED           2000
  134. #define IDS_APPINITFAILED           2001
  135. #define IDS_OUTOFMEMORY             2002
  136. #define IDS_NOUNICODE               2003
  137. #define IDS_NOSERVER                2004
  138. #define IDS_ASSERT_FAIL             2200
  139. // Notice-related String Identifiers.
  140. #define IDS_NOTIMPLEMENTED          2301
  141. // Log Message String Identifiers.
  142. #define IDS_START_MESSAGE_LOG       2400
  143. #endif