|
|
1.1 ! root 1: /* ! 2: * EDLINKS.H ! 3: * ! 4: * Internal definitions, structures, and function prototypes for the ! 5: * OLE 2.0 UI Edit Links dialog. ! 6: * ! 7: * Copyright (c)1992 Microsoft Corporation, All Right Reserved ! 8: */ ! 9: ! 10: ! 11: #ifndef _LINKS_H_ ! 12: #define _LINKS_H_ ! 13: ! 14: //INTERNAL INFORMATION STARTS HERE ! 15: #define szCLOSE "Close" ! 16: #define OLEUI_SZMAX 255 ! 17: #define LINKTYPELEN 9 ! 18: #define szNULL "\0" ! 19: ! 20: typedef UINT (CALLBACK* COMMDLGHOOKPROC)(HWND, UINT, WPARAM, LPARAM); ! 21: ! 22: //Internally used structure ! 23: ! 24: typedef struct tagLINKINFO ! 25: { ! 26: DWORD dwLink; // app specific identifier of a link ! 27: LPSTR lpszDisplayName; // file based part of name ! 28: LPSTR lpszItemName; // object part of name ! 29: LPSTR lpszShortFileName; // filename without path ! 30: LPSTR lpszShortLinkType; // Short link type - progID ! 31: LPSTR lpszFullLinkType; // Full link type - user friendly name ! 32: LPSTR lpszAMX; // Is the link auto (A) man (M) or dead (X) ! 33: ULONG clenFileName; // count of file part of mon. ! 34: BOOL fSourceAvailable; // bound or not - on boot assume yes?? ! 35: BOOL fIsAuto; // 1 =automatic, 0=manual update ! 36: BOOL fIsMarked; // 1 = marked, 0 = not ! 37: BOOL fDontFree; // Don't free this data since it's being reused ! 38: BOOL fIsSelected; // item selected or to be selected ! 39: } LINKINFO, FAR* LPLINKINFO; ! 40: ! 41: /* ! 42: * What we store extra in this structure besides the original caller's ! 43: * pointer are those fields that we need to modify during the life of ! 44: * the dialog but that we don't want to change in the original structure ! 45: * until the user presses OK. ! 46: */ ! 47: ! 48: typedef struct tagEDITLINKS ! 49: { ! 50: //Keep this item first as the Standard* functions depend on it here. ! 51: ! 52: LPOLEUIEDITLINKS lpOEL; //Original structure passed. ! 53: ! 54: BOOL fClose; // Does the button read cancel (0) or ! 55: // close (1)? ! 56: int *rgIndex; // Array to hold indexes of selected items ! 57: int cSelItems; // Number of selected items ! 58: BOOL fItemsExist; // TRUE, items in lbox, FALSE, none ! 59: ! 60: } EDITLINKS, *PEDITLINKS, FAR *LPEDITLINKS; ! 61: ! 62: // Data to and from the ChangeSource dialog hook ! 63: typedef struct tagCHANGESOURCEHOOKDATA ! 64: { ! 65: LPLINKINFO lpLI; ! 66: LPEDITLINKS lpEL; ! 67: BOOL fValidLink; ! 68: LPSTR lpszFrom; // string containing prefix of source ! 69: // changed from ! 70: LPSTR lpszTo; // string containing prefix of source ! 71: // source changed to ! 72: } CHANGESOURCEHOOKDATA, *PCHANGESOURCEHOOKDATA, FAR *LPCHANGESOURCEHOOKDATA; ! 73: ! 74: ! 75: //Internal function prototypes ! 76: //LINKS.C ! 77: BOOL CALLBACK EXPORT EditLinksDialogProc(HWND, UINT, WPARAM, LPARAM); ! 78: BOOL FEditLinksInit(HWND, WPARAM, LPARAM); ! 79: BOOL Container_ChangeSource(HWND, LPEDITLINKS); ! 80: HRESULT Container_AutomaticManual(HWND, BOOL, LPEDITLINKS); ! 81: HRESULT CancelLink(HWND, LPEDITLINKS); ! 82: HRESULT Container_UpdateNow(HWND, LPEDITLINKS); ! 83: HRESULT Container_OpenSource(HWND, LPEDITLINKS); ! 84: int AddLinkLBItem(HWND hListBox, LPOLEUILINKCONTAINER lpOleUILinkCntr, LPLINKINFO lpLI, BOOL fGetSelected); ! 85: VOID BreakString(LPLINKINFO); ! 86: int GetSelectedItems(HWND, int FAR* FAR*); ! 87: BOOL WINAPI ChangeSource(HWND hWndOwner, ! 88: LPSTR lpszFile, ! 89: UINT cchFile, ! 90: UINT iFilterString, ! 91: COMMDLGHOOKPROC lpfnBrowseHook, ! 92: LPCHANGESOURCEHOOKDATA lpLbhData); ! 93: UINT CALLBACK EXPORT ChangeSourceHook(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam); ! 94: VOID InitControls(HWND hDlg); ! 95: VOID UpdateLinkLBItem(HWND hListBox, int nIndex, LPEDITLINKS lpEL, BOOL bSelect); ! 96: VOID DiffPrefix(LPCSTR lpsz1, LPCSTR lpsz2, char FAR* FAR* lplpszPrefix1, char FAR* FAR* lplpszPrefix2); ! 97: int PopupMessage(HWND hwndParent, UINT idTitle, UINT idMessage, UINT fuStyle); ! 98: VOID ChangeAllLinks(HWND hLIstBox, LPOLEUILINKCONTAINER lpOleUILinkCntr, LPSTR lpszFrom, LPSTR lpszTo); ! 99: int LoadLinkLB(HWND hListBox, LPOLEUILINKCONTAINER lpOleUILinkCntr); ! 100: VOID RefreshLinkLB(HWND hListBox, LPOLEUILINKCONTAINER lpOleUILinkCntr); ! 101: #endif // __LINKS_H__
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.