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

Windows编程

开发平台:

Visual C++

  1. //-----------------------------------------------------------------------------
  2. // Microsoft OLE DB TABLECOPY Sample
  3. // Copyright (C) 1995-1998 Microsoft Corporation
  4. //
  5. // @doc
  6. //
  7. // @module WINMAIN.H
  8. //
  9. //-----------------------------------------------------------------------------
  10. #ifndef _WINMAIN_H_
  11. #define _WINMAIN_H_
  12. ///////////////////////////////////////////////////////////////
  13. // Defines
  14. //
  15. ///////////////////////////////////////////////////////////////
  16. //We want type checking on Window Handles
  17. #define STRICT
  18. ///////////////////////////////////////////////////////////////
  19. // Includes
  20. //
  21. ///////////////////////////////////////////////////////////////
  22. #include <windows.h>
  23. #include <windowsx.h>
  24. #include <commctrl.h> //InitCommonControls
  25. #include <stddef.h>
  26. #include <stdio.h>
  27. #include <limits.h>
  28. #include <wchar.h>
  29. #include "resource.h"
  30. ////////////////////////////////////////////////////////////////////////////
  31. // Windows Defines
  32. //
  33. ////////////////////////////////////////////////////////////////////////////
  34. #define CHECK_MEMORY(pv) if(!pv) { OutOfMemory(NULL); goto CLEANUP; }
  35. //Dialog Box procedures want to know if you handled the MSG
  36. //or not.  If you do, thenit just returns, if not then it calls
  37. //the default windialog procedure to try and handle it
  38. const BOOL HANDLED_MSG  = TRUE;
  39. const BOOL UNHANDLED_MSG = FALSE;
  40. #define LVM_ERR (-1)
  41. ////////////////////////////////////////////////////////////////////////////
  42. // Windows functions
  43. //
  44. ////////////////////////////////////////////////////////////////////////////
  45. void Busy(BOOL bValue = TRUE);
  46. void OutOfMemory(HWND hwnd);
  47. INT wMessageBox(HWND hDlg, UINT uiStyle, WCHAR* pwszTitle, WCHAR* pwszFmt, ...);
  48. LRESULT wSendMessage(HWND hWnd, UINT Msg, WPARAM wParam, WCHAR* pwszName);
  49. void wSetDlgItemText(HWND hWnd, INT DlgItem, WCHAR* pwszFmt, ...);
  50. UINT wGetDlgItemText(HWND hWnd, INT DlgItem, WCHAR* pwsz, INT nMaxSize);
  51. BOOL CenterDialog(HWND hDlg);
  52. void SyncSibling(HWND hwndLstChg,HWND hwndLstSrc);
  53. BOOL GetEditBoxValue(HWND hEditWnd, ULONG ulMin, ULONG ulMax, ULONG* pulCount);
  54. /////////////////////////////////////////////////////////////////////
  55. // ListView Helpers
  56. //
  57. /////////////////////////////////////////////////////////////////////
  58. LONG LV_InsertColumn(HWND hWnd, LONG iColumn, CHAR* szName);
  59. LONG LV_InsertItem(HWND hWnd, LONG iItem, LONG iSubItem, CHAR* szName, LONG iParam = 0, LONG iIMage = NULL);
  60. LONG LV_SetItemState(HWND hWnd, LONG iItem, LONG iSubItem, LONG lState, LONG lStateMask);
  61. LONG LV_SetItemText(HWND hWnd, LONG iItem, LONG iSubItem, CHAR* szName);
  62. LONG LV_FindItem(HWND hWnd, CHAR* szName, LONG iStart);
  63. /////////////////////////////////////////////////////////////////////
  64. // TreeView Helpers
  65. //
  66. /////////////////////////////////////////////////////////////////////
  67. HTREEITEM TV_InsertItem(HWND hWnd, HTREEITEM hParent, HTREEITEM hInsAfter, CHAR* szName, LONG iParam = 0, LONG iImage = 0, LONG iSelectedImage = 0);
  68. /////////////////////////////////////////////////////////////////////
  69. // Memory debugging code
  70. //
  71. /////////////////////////////////////////////////////////////////////
  72. int InternalAssert(char* pszExp, char* pszFile, UINT iLine);
  73. void InternalTrace(CHAR* pszExp, ...);
  74. void InternalTrace(WCHAR* pwszExp, ...);
  75. #undef ASSERT
  76. #undef TRACE
  77. #ifdef _DEBUG
  78. #if     defined(_M_IX86)
  79. #define _DbgBreak() __asm { int 3 }
  80. #else
  81. #define _DbgBreak() DebugBreak()
  82. #endif
  83. #define ASSERT(expr) 
  84.         do { if (!(expr) && 
  85.                 (1 == InternalAssert(#expr, __FILE__, __LINE__))) 
  86.              _DbgBreak(); } while (0)
  87. #define TRACE InternalTrace
  88. #else  //_DEBUG
  89. #define ASSERT(exp)
  90. #define TRACE if(0) InternalTrace
  91. #endif //_DEBUG
  92. #endif //_WINMAIN_H_