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

Windows编程

开发平台:

Visual C++

  1. //*---------------------------------------------------------------------------------
  2. //|  ODBC System Administrator
  3. //|
  4. //|  This code is furnished on an as-is basis as part of the ODBC SDK and is
  5. //|  intended for example purposes only.
  6. //|
  7. //|   Title:   CHILD.H
  8. //|      This files sole purpose in life is to define the CHILDINFO type
  9. //|         which is the main data structure for a connection window.
  10. //*---------------------------------------------------------------------------------
  11. #ifndef child_DEFS
  12. #define child_DEFS
  13. #include <Windows.h>
  14. #include <stdlib.h>
  15. #include "commdlg.h"
  16. #include "standard.h"
  17. #include "menu.h"
  18. #include "results.h"
  19. #include "sql.h"
  20. #include "sqlext.h"
  21. #define MAXCONNECTS        15
  22. //*------------------------------------------------------------------------
  23. //|  The following structure is used to keep track of the vital pieces of
  24. //|      information for each child MDI window.  The actual structure is
  25. //|      stored with the window and can be extracted with only the window
  26. //|      handle.
  27. //*------------------------------------------------------------------------
  28. typedef struct tagCHILDINFO {
  29.    HINSTANCE      hInst;                        // Handle to our data segment
  30.    HWND           hwndClient;                   // Handle to client window
  31.    HWND           hwnd;                         // Handle to the child window
  32.    HWND           hwndIn;                       // Input window
  33.    HWND           hwndOut;                      // Output window
  34.    HENV           henv;                         // Environment handle for application
  35.    HDBC           hdbc;                         // Connection handle of this window
  36.    HSTMT          hstmt;                        // Statement handle for this window
  37.    // Display information
  38.    int            dx;                           // Width of client area
  39.    int            dy;                           // Height of client area
  40.    char           szConnStrOut[DFTBUFFSIZE];    // Save returned connect string
  41.    char           CurrentUser[DFTBUFFSIZE];     // Name of user logged on this window
  42.    char           CurrentServer[DFTBUFFSIZE];   // Server connected to in this window
  43.    int            listtype;                     // What are we listing
  44.    char           szClientTitle[MAXBUFF];       // Title for the window
  45.    UDWORD         fFunctions[MINREQUIREDINTS(NUM_MENU_FLAGS)];
  46.                                                 // bitmask to track supported functions
  47.    HFILE          hFile;                        // Pointer to file
  48.    char           szFile[_MAX_PATH];            // Name of the file
  49.    int            cbFileSize;                   // How big is the file
  50.    LPSTR          szFileBuff;                   // Memory for the file
  51.    int            cbResultCount;                // Incremental counter of results windows
  52.    int            cbMaxRS;                      // Maximum results windows
  53.    int            cbResults;                    // Current count of results sets
  54.    LPVOID         lprihead;                     // Head node
  55.    LPVOID         lpritail;                     // Tail node
  56.    } CHILDINFO, FAR * lpCHILDINFO;
  57. // Since this is an MDI app, we will store the connection window information with
  58. // the window handle and must then get this value for each message processed.
  59. // This little macro simply sets the value of ci based on the window
  60. #define GETCIPOINTER(hwnd) (lpCHILDINFO)(GetWindowLong(hwnd, 0))
  61. #define SETCIPOINTER(hwnd, x) SetWindowLong(hwnd, 0, (LONG)(x))
  62. #endif