Annotation of mstools/samples/ddeml/client/client.h, revision 1.1.1.1

1.1       root        1: #include <windows.h>
                      2: #include <windowsx.h>
                      3: #include <ddeml.h>
                      4: 
                      5: #define WINDOWMENU  3  /* position of window menu               */
                      6: 
                      7: /* resource ID's */
                      8: #define IDCLIENT  1
                      9: #define IDCONV   2
                     10: #define IDLIST   3
                     11: 
                     12: 
                     13: /* menu ID's */
                     14: 
                     15: #define IDM_EDITPASTE          2004
                     16: 
                     17: #define IDM_CONNECT             3000    // enabled always
                     18: #define IDM_RECONNECT           3001    // enabled if list selected
                     19: #define IDM_DISCONNECT          3002    // enabled if conversation selected
                     20: #define IDM_TRANSACT            3003    // enabled if conversation selected
                     21: #define IDM_ABANDON             3004    // enabled if transaction selected
                     22: #define IDM_ABANDONALL          3005    // enabled if conv. selected &&
                     23:                                         // and any transaction windows exist
                     24: 
                     25: #define IDM_BLOCKCURRENT        3010    // enabled if conv. sel.  chkd if conv. blocked
                     26: #define IDM_ENABLECURRENT       3011    // enabled if conv. sel.  chkd if not blocked
                     27: #define IDM_ENABLEONECURRENT    3012    // enabled if conv. sel.
                     28: 
                     29: #define IDM_BLOCKALLCBS         3013    // enabled if any convs.
                     30: #define IDM_ENABLEALLCBS        3014    // enabled if any convs.
                     31: #define IDM_ENABLEONECB         3015    // enabled if any convs.
                     32: 
                     33: #define IDM_BLOCKNEXTCB         3016    // enabled always, chkd if set.
                     34: #define IDM_TERMNEXTCB          3017    // enabled if any convs.  chked if set.
                     35: 
                     36: #define IDM_TIMEOUT             3021
                     37: #define IDM_DELAY               3022
                     38: #define IDM_CONTEXT             3023
                     39: #define IDM_AUTORECONNECT       3024
                     40: 
                     41: #define IDM_WINDOWTILE         4001
                     42: #define IDM_WINDOWCASCADE       4002
                     43: #define IDM_WINDOWCLOSEALL      4003
                     44: #define IDM_WINDOWICONS         4004
                     45: 
                     46: #define IDM_XACTTILE           4005
                     47: #define IDM_XACTCASCADE         4006
                     48: #define IDM_XACTCLOSEALL        4007
                     49: 
                     50: #define IDM_WINDOWCHILD         4100
                     51: 
                     52: #define IDM_HELP               5001
                     53: #define IDM_HELPABOUT          5002
                     54: 
                     55: 
                     56: #define DEFTIMEOUT              1000
                     57: 
                     58: #include "dialog.h"
                     59: 
                     60: // predefined format list item
                     61: 
                     62: typedef struct {
                     63:     DWORD fmt;
                     64:     PSTR sz;
                     65: } FORMATINFO;
                     66: #define CFORMATS 3
                     67: 
                     68: // conversation (MDI child) window information
                     69: typedef struct {
                     70:     HWND hwndXaction;       // last xaction window with focus, 0 if none.
                     71:     BOOL fList;
                     72:     HCONV hConv;
                     73:     HSZ hszTopic;
                     74:     HSZ hszApp;
                     75:     INT x;          // next child coord.
                     76:     INT y;
                     77:     CONVINFO ci; // most recent status info.
                     78: } MYCONVINFO;       // parameters to AddConv() in reverse order.
                     79: #define CHILDCBWNDEXTRA            sizeof(HWND)
                     80: #define UM_GETNEXTCHILDX    (WM_USER + 200)
                     81: #define UM_GETNEXTCHILDY    (WM_USER + 201)
                     82: #define UM_DISCONNECTED     (WM_USER + 202)
                     83: 
                     84: // transaction processing structure - this structure is associated with
                     85: // infoctrl control windows.  A handle to this structure is placed into
                     86: // the first window word of the control.
                     87: typedef struct {    // used to passinfo to/from TransactionDlgProc and
                     88:     DWORD ret;      // TextEntryDlgProc.
                     89:     DWORD Result;
                     90:     DWORD ulTimeout;
                     91:     DWORD wType;
                     92:     HCONV hConv;
                     93:     HDDEDATA hDdeData;
                     94:     DWORD wFmt;
                     95:     HSZ hszItem;
                     96:     DWORD fsOptions;
                     97: } XACT;
                     98: 
                     99: typedef struct {
                    100:     HDDEDATA hData;
                    101:     HSZ hszItem;
                    102:     DWORD wFmt;
                    103: } OWNED;
                    104: 
                    105: // transaction option flags - for fsOptions field and DefOptions global.
                    106: 
                    107: #define XOPT_NODATA             0x0001
                    108: #define XOPT_ACKREQ             0x0002
                    109: #define XOPT_DISABLEFIRST       0x0004
                    110: #define XOPT_ABANDONAFTERSTART  0x0008
                    111: #define XOPT_BLOCKRESULT        0x0010
                    112: #define XOPT_ASYNC              0x0020
                    113: #define XOPT_COMPLETED          0x8000      // used internally only.
                    114: 
                    115: /* strings */
                    116: #define IDS_ILLFNM             1
                    117: #define IDS_ADDEXT             2
                    118: #define IDS_CLOSESAVE      3
                    119: #define IDS_HELPNOTAVAIL    4
                    120: #define IDS_CLIENTTITLE     5
                    121: #define IDS_APPNAME            6
                    122: #define IDS_DDEMLERR        7
                    123: #define IDS_BADLENGTH       8
                    124: 
                    125: /* attribute flags for DlgDirList */
                    126: #define ATTR_DIRS      0xC010          /* find drives and directories */
                    127: #define ATTR_FILES     0x0000          /* find ordinary files         */
                    128: #define PROP_FILENAME  szPropertyName  /* name of property for dialog */
                    129: #define MAX_OWNED   20
                    130: 
                    131: /*
                    132:  *  GLOBALS
                    133:  */
                    134: extern CONVCONTEXT CCFilter;
                    135: extern DWORD idInst;
                    136: extern HANDLE hInst;           /* application instance handle            */
                    137: extern HANDLE hAccel;          /* resource handle of accelerators        */
                    138: extern HWND hwndFrame;         /* main window handle                     */
                    139: extern HWND hwndMDIClient;     /* handle of MDI Client window            */
                    140: extern HWND hwndActive;        /* handle of current active MDI child     */
                    141: extern HWND hwndActiveEdit;    /* handle of edit control in active child */
                    142: extern LONG styleDefault;      /* default child creation state           */
                    143: extern DWORD SyncTimeout;
                    144: extern LONG DefTimeout;
                    145: extern DWORD wDelay;
                    146: extern BOOL fEnableCBs;
                    147: extern BOOL fEnableOneCB;
                    148: extern BOOL fBlockNextCB;
                    149: extern BOOL fTermNextCB;
                    150: extern BOOL fAutoReconnect;
                    151: extern HDDEDATA hDataOwned;
                    152: extern DWORD fmtLink;        // registered LINK clipboard fmt
                    153: extern DWORD DefOptions;
                    154: extern CHAR szChild[];         /* class of child                         */
                    155: extern CHAR szList[];          /* class of child                         */
                    156: extern CHAR szSearch[];        /* search string                          */
                    157: extern CHAR *szDriver;         /* name of printer driver                 */
                    158: extern CHAR szPropertyName[];  /* filename property for dialog box       */
                    159: extern INT iPrinter;           /* level of printing capability           */
                    160: extern BOOL fCase;             /* searches case sensitive                */
                    161: extern DWORD cFonts;           /* number of fonts enumerated             */
                    162: extern FORMATINFO aFormats[];
                    163: extern OWNED aOwned[MAX_OWNED];
                    164: extern DWORD cOwned;
                    165: extern FARPROC lpMsgFilterProc;
                    166: 
                    167: 
                    168: // MACROS
                    169: 
                    170: #ifdef NODEBUG
                    171: #define MyAlloc(cb)     (PSTR)LocalAlloc(LPTR, (cb))
                    172: #define MyFree(p)       (LocalUnlock((HANDLE)(p)), LocalFree((HANDLE)(p)))
                    173: #else   // DEBUG
                    174: 
                    175: #define MyAlloc(cb)     DbgAlloc((DWORD)cb)
                    176: #define MyFree(p)       DbgFree((PSTR)p)
                    177: #endif //NODEBUG
                    178: 
                    179: 
                    180: /*  externally declared functions
                    181:  */
                    182: 
                    183: // client.c
                    184: 
                    185: BOOL  APIENTRY InitializeApplication(VOID);
                    186: BOOL  APIENTRY InitializeInstance(DWORD);
                    187: HWND  APIENTRY AddFile(CHAR *);
                    188: VOID  APIENTRY MyReadFile(HWND);
                    189: VOID  APIENTRY SaveFile(HWND);
                    190: BOOL  APIENTRY ChangeFile(HWND);
                    191: INT  APIENTRY LoadFile(HWND, CHAR *);
                    192: VOID  APIENTRY PrintFile(HWND);
                    193: BOOL  APIENTRY GetInitializationData(HWND);
                    194: INT FAR cdecl MPError(DWORD,DWORD,...);
                    195: VOID  APIENTRY Find(VOID);
                    196: VOID  APIENTRY FindNext(VOID);
                    197: VOID  APIENTRY FindPrev(VOID);
                    198: LONG  APIENTRY FrameWndProc(HWND, UINT, WPARAM, LPARAM);
                    199: LONG  APIENTRY MDIChildWndProc(HWND, UINT, WPARAM, LPARAM);
                    200: HDC  APIENTRY GetPrinterDC(VOID);
                    201: VOID NEAR PASCAL SetSaveFrom (HWND, PSTR);
                    202: BOOL NEAR PASCAL RealSlowCompare (PSTR, PSTR);
                    203: VOID  APIENTRY FindPrev (VOID);
                    204: VOID  APIENTRY FindNext (VOID);
                    205: BOOL NEAR PASCAL IsWild (PSTR);
                    206: VOID NEAR PASCAL SelectFile (HWND);
                    207: HCONV CreateConv(HSZ hszApp, HSZ hszTopic, BOOL fList);
                    208: HWND  APIENTRY AddConv(HSZ hszApp, HSZ hszTopic, HCONV hConv, BOOL fList);
                    209: PSTR GetConvListText(HCONVLIST hConvList);
                    210: PSTR GetConvInfoText(HCONV hConv, CONVINFO *pci);
                    211: PSTR GetConvTitleText(HCONV hConv, HSZ hszApp, HSZ hszTopic, BOOL fList);
                    212: PSTR Status2String(DWORD status);
                    213: PSTR State2String(DWORD state);
                    214: PSTR Error2String(DWORD error);
                    215: PSTR Type2String(DWORD wType, DWORD fsOptions);
                    216: PSTR GetHSZName(HSZ hsz);
                    217: DWORD  APIENTRY MyMsgFilterProc(INT nCode, WPARAM wParam, DWORD lParam);
                    218: 
                    219: // dialog.c
                    220: 
                    221: 
                    222: INT FAR DoDialog(LPSTR lpTemplateName, WNDPROC lpDlgProc, LONG param,
                    223:         BOOL fRememberFocus);
                    224: BOOL  APIENTRY AboutDlgProc(HWND, UINT, WPARAM, LPARAM);
                    225: BOOL  APIENTRY ConnectDlgProc(HWND, UINT, WPARAM, LPARAM);
                    226: BOOL  APIENTRY TransactDlgProc(HWND, UINT, WPARAM, LPARAM);
                    227: BOOL  APIENTRY AdvOptsDlgProc(HWND, UINT, WPARAM, LPARAM);
                    228: BOOL  APIENTRY TextEntryDlgProc(HWND, UINT, WPARAM, LPARAM);
                    229: BOOL  APIENTRY ViewHandleDlgProc(HWND, UINT, WPARAM, LPARAM);
                    230: BOOL  APIENTRY TimeoutDlgProc(HWND, UINT, WPARAM, LPARAM);
                    231: BOOL  APIENTRY DelayDlgProc(HWND, UINT, WPARAM, LPARAM);
                    232: BOOL  APIENTRY ContextDlgProc(HWND, UINT, WPARAM, LPARAM);
                    233: VOID Delay(DWORD delay);
                    234: 
                    235: // dde.c
                    236: 
                    237: 
                    238: BOOL ProcessTransaction(XACT *pxact);
                    239: VOID CompleteTransaction(HWND hwndInfoCtr, XACT *pxact);
                    240: HDDEDATA CALLBACK DdeCallback(UINT wType, UINT wFmt, HCONV hConv, HSZ hsz1,
                    241:         HSZ hsz2, HDDEDATA hData, DWORD lData1, DWORD lData2);
                    242: HWND MDIChildFromhConv(HCONV hConv);
                    243: HWND FindAdviseChild(HWND hwndMDI, HSZ hszItem, DWORD wFmt);
                    244: HWND FindListWindow(HCONVLIST hConvList);
                    245: PSTR GetTextData(HDDEDATA hData);
                    246: PSTR GetFormatData(HDDEDATA hData);
                    247: INT MyGetClipboardFormatName(DWORD fmt, LPSTR lpstr, INT cbMax);
                    248: PSTR GetFormatName(DWORD wFmt);
                    249: BOOL MyDisconnect(HCONV hConv);
                    250: 
                    251: // mem.c
                    252: 
                    253: 
                    254: PSTR DbgAlloc(DWORD cb);
                    255: PSTR DbgFree(PSTR p);
                    256: 

unix.superglobalmegacorp.com

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