Annotation of mstools/ole20/samples/ole2ui/common.h, revision 1.1

1.1     ! root        1: /*
        !             2:  * COMMON.H
        !             3:  *
        !             4:  * Structures and definitions applicable to all OLE 2.0 UI dialogs.
        !             5:  *
        !             6:  * Copyright (c)1992 Microsoft Corporation, All Right Reserved
        !             7:  */
        !             8: 
        !             9: 
        !            10: #ifndef _COMMON_H_
        !            11: #define _COMMON_H_
        !            12: 
        !            13: 
        !            14: //Macros to handle control message packing between Win16 and Win32
        !            15: #ifdef WIN32
        !            16: 
        !            17: #ifndef COMMANDPARAMS
        !            18: #define COMMANDPARAMS(wID, wCode, hWndMsg)                          \
        !            19:     WORD        wID     = LOWORD(wParam);                           \
        !            20:     WORD        wCode   = HIWORD(wParam);                           \
        !            21:     HWND        hWndMsg = (HWND)(UINT)lParam;
        !            22: #endif  //COMMANDPARAMS
        !            23: 
        !            24: #ifndef SendCommand
        !            25: #define SendCommand(hWnd, wID, wCode, hControl)                     \
        !            26:             SendMessage(hWnd, WM_COMMAND, MAKELONG(wID, wCode)      \
        !            27:                         , (LPARAM)hControl)
        !            28: #endif  //SendCommand
        !            29: 
        !            30: #else   //Start !WIN32
        !            31: 
        !            32: #ifndef COMMANDPARAMS
        !            33: #define COMMANDPARAMS(wID, wCode, hWndMsg)                          \
        !            34:     WORD        wID     = LOWORD(wParam);                           \
        !            35:     WORD        wCode   = HIWORD(lParam);                           \
        !            36:     HWND        hWndMsg = (HWND)(UINT)lParam;
        !            37: #endif  //COMMANDPARAMS
        !            38: 
        !            39: #ifndef SendCommand
        !            40: #define SendCommand(hWnd, wID, wCode, hControl)                     \
        !            41:             SendMessage(hWnd, WM_COMMAND, wID                       \
        !            42:                         , MAKELONG(hControl, wCode))
        !            43: #endif  //SendCommand
        !            44: 
        !            45: #endif  //!WIN32
        !            46: 
        !            47: 
        !            48: 
        !            49: //Property labels used to store dialog structures and fonts
        !            50: #define STRUCTUREPROP       "Structure"
        !            51: #define FONTPROP            "Font"
        !            52: 
        !            53: 
        !            54: /*
        !            55:  * Standard structure for all dialogs.  This commonality lets us make
        !            56:  * a single piece of code that will validate this entire structure and
        !            57:  * perform any necessary initialization.
        !            58:  */
        !            59: 
        !            60: typedef struct tagOLEUISTANDARD
        !            61:     {
        !            62:     //These IN fields are standard across all OLEUI dialog functions.
        !            63:     DWORD           cbStruct;       //Structure Size
        !            64:     DWORD           dwFlags;        //IN-OUT:  Flags
        !            65:     HWND            hWndOwner;      //Owning window
        !            66:     LPCSTR          lpszCaption;    //Dialog caption bar contents
        !            67:     LPFNOLEUIHOOK   lpfnHook;       //Hook callback
        !            68:     LPARAM          lCustData;      //Custom data to pass to hook
        !            69:     HINSTANCE       hInstance;      //Instance for customized template name
        !            70:     LPCSTR          lpszTemplate;   //Customized template name
        !            71:     HRSRC           hResource;      //Customized template handle
        !            72:     } OLEUISTANDARD, *POLEUISTANDARD, FAR *LPOLEUISTANDARD;
        !            73: 
        !            74: 
        !            75: 
        !            76: //Function prototypes
        !            77: //COMMON.C
        !            78: UINT  WINAPI  UStandardValidation(const LPOLEUISTANDARD, const UINT, const HGLOBAL FAR *);
        !            79: UINT  WINAPI  UStandardInvocation(DLGPROC, LPOLEUISTANDARD, HGLOBAL, LPCSTR);
        !            80: LPVOID WINAPI LpvStandardInit(HWND, UINT, BOOL, HFONT FAR *);
        !            81: LPVOID WINAPI LpvStandardEntry(HWND, UINT, WPARAM, LPARAM, UINT FAR *);
        !            82: UINT WINAPI   UStandardHook(LPVOID, HWND, UINT, WPARAM, LPARAM);
        !            83: void WINAPI   StandardCleanup(LPVOID, HWND);
        !            84: void WINAPI   StandardShowDlgItem(HWND hDlg, int idControl, int nCmdShow);
        !            85: 
        !            86: 
        !            87: //DRAWICON.C
        !            88: 
        !            89: //Structure for label and source extraction from a metafile
        !            90: typedef struct tagLABELEXTRACT
        !            91:     {
        !            92:     LPSTR       lpsz;
        !            93:     UINT        Index;      // index in lpsz (so we can retrieve 2+ lines)
        !            94:     DWORD       PrevIndex;  // index of last line (so we can mimic word wrap)
        !            95: 
        !            96:     union
        !            97:         {
        !            98:         UINT    cch;        //Length of label for label extraction
        !            99:         UINT    iIcon;      //Index of icon in source extraction.
        !           100:         } u;
        !           101: 
        !           102:     //For internal use in enum procs
        !           103:     BOOL        fFoundIconOnly;
        !           104:     BOOL        fFoundSource;
        !           105:     BOOL        fFoundIndex;
        !           106:     } LABELEXTRACT, FAR * LPLABELEXTRACT;
        !           107: 
        !           108: 
        !           109: //Structure for extracting icons from a metafile (CreateIcon parameters)
        !           110: typedef struct tagICONEXTRACT
        !           111:     {
        !           112:     HICON       hIcon;          //Icon created in the enumeration proc.
        !           113: 
        !           114:     /*
        !           115:      * Since we want to handle multitasking well we have the caller
        !           116:      * of the enumeration proc instantiate these variables instead of
        !           117:      * using statics in the enum proc (which would be bad).
        !           118:      */
        !           119:     BOOL        fAND;
        !           120:     HGLOBAL     hMemAND;        //Enumeration proc allocates and copies
        !           121:     } ICONEXTRACT, FAR * LPICONEXTRACT;
        !           122: 
        !           123: 
        !           124: //Structure to use to pass info to EnumMetafileDraw
        !           125: typedef struct tagDRAWINFO
        !           126:     {
        !           127:     RECT     Rect;
        !           128:     BOOL     fIconOnly;
        !           129:     } DRAWINFO, FAR * LPDRAWINFO;
        !           130: 
        !           131: 
        !           132: int CALLBACK EXPORT EnumMetafileIconDraw(HDC, HANDLETABLE FAR *, METARECORD FAR *, int, LPARAM);
        !           133: int CALLBACK EXPORT EnumMetafileExtractLabel(HDC, HANDLETABLE FAR *, METARECORD FAR *, int, LPLABELEXTRACT);
        !           134: int CALLBACK EXPORT EnumMetafileExtractIcon(HDC, HANDLETABLE FAR *, METARECORD FAR *, int, LPICONEXTRACT);
        !           135: int CALLBACK EXPORT EnumMetafileExtractIconSource(HDC, HANDLETABLE FAR *, METARECORD FAR *, int, LPLABELEXTRACT);
        !           136: 
        !           137: 
        !           138: //Shared globals:  our instance, registered messages used from all dialogs and clipboard
        !           139: // formats used by the PasteSpecial dialog
        !           140: extern HINSTANCE  ghInst;
        !           141: 
        !           142: extern UINT       uMsgHelp;
        !           143: extern UINT       uMsgEndDialog;
        !           144: extern UINT       uMsgBrowse;
        !           145: extern UINT       uMsgChangeIcon;
        !           146: extern UINT       uMsgFileOKString;
        !           147: extern UINT       uMsgCloseBusyDlg;
        !           148: 
        !           149: extern UINT       cfObjectDescriptor;
        !           150: extern UINT       cfLinkSrcDescriptor;
        !           151: extern UINT       cfEmbedSource;
        !           152: extern UINT       cfEmbeddedObject;
        !           153: extern UINT       cfLinkSource;
        !           154: extern UINT       cfOwnerLink;
        !           155: extern UINT       cfFileName;
        !           156: 
        !           157: //Standard control identifiers
        !           158: #define ID_NULL                         98
        !           159: 
        !           160: #endif //_COMMON_H_

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.