home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / com / oleaut / hello / hellctrl / hellctrl.h < prev    next >
C/C++ Source or Header  |  1995-06-23  |  2KB  |  57 lines

  1. #ifdef WIN32
  2.  
  3. #ifdef UNICODE
  4.     #define FROM_OLE_STRING(str) str
  5.     #define TO_OLE_STRING(str) str 
  6. #else
  7.     #define FROM_OLE_STRING(str) ConvertToAnsi(str)
  8.     char* ConvertToAnsi(OLECHAR FAR* szW);  
  9.     #define TO_OLE_STRING(str) ConvertToUnicode(str)
  10.     OLECHAR* ConvertToUnicode(char FAR* szA);   
  11.     // Maximum length of string that can be converted between Ansi & Unicode
  12.     #define STRCONVERT_MAXLEN 500         
  13. #endif
  14.  
  15. #else  // WIN16
  16.   #define APIENTRY far pascal  
  17.   #define TCHAR char
  18.   #define TEXT(sz) sz 
  19.   #define FROM_OLE_STRING(str) str  
  20.   #define TO_OLE_STRING(str) str 
  21.   #define LPTSTR LPSTR   
  22.   #define LPCTSTR LPCSTR
  23.   
  24.   // Windows NT defines the following in windowsx.h
  25.   #define GET_WM_COMMAND_ID(w,l) (w)
  26.   #define GET_WM_COMMAND_CMD(w,l) HIWORD(l)
  27.   #define GET_WM_COMMAND_HWND(w,l) LOWORD(l)
  28. #endif
  29.  
  30. // Menu-item IDs
  31. #define IDM_CREATEHELLO  300
  32. #define IDM_SETVISIBLE   301  
  33. #define IDM_SETINVISIBLE   302
  34. #define IDM_GETHELLOMESSAGE   303
  35. #define IDM_SAYHELLO  304
  36. #define IDM_RELEASEHELLO 305    
  37.  
  38. // MAX len of string table entries
  39. #define STR_LEN   100
  40.  
  41. // String table constants
  42. #define IDS_PROGNAME                   1
  43. #define IDS_RESULT                     2
  44. #define IDS_ERROR                      3
  45.  
  46. // Function prototypes
  47. int PASCAL WinMain (HINSTANCE, HINSTANCE, LPSTR, int);
  48. BOOL InitApplication (HINSTANCE);
  49. BOOL InitInstance (HINSTANCE, int);
  50. void DisplayError(IHello FAR* phello);
  51. #ifdef WIN16
  52. LRESULT __export CALLBACK MainWndProc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
  53. #else
  54. LRESULT CALLBACK MainWndProc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
  55. #endif
  56.  
  57.