# OLEUICHANGESOURCE

This structure is used to initialize the standard Change Source dialog box. It allows the user to modify the destination or source of a link. This may simply entail selecting a different file name for the link, or possibly changing the item reference within the file, for example, changing the destination range of cells within the spreadsheet that the link is to.

    typedef struct tagOLEUICHANGESOURCEW
    {
    // These IN fields are standard across all OLEUI dialog box functions.
        DWORD          cbStruct;
        DWORDT         dwFlags;
        HWND           hWndOwner;
        LPCWSTR        lpszCaption;
        LPFNOLEUIHOOK  lpfnHook;
        LPARAM         lCustData;
        HINSTANCE      hInstance;
        LPCWSTR        lpszTemplate;
        HRSRC          hResource;

    // INTERNAL ONLY: do not modify these members
        OPENFILENAMEW*     lpOFN;
        DWORD              dwReserved1[4];

    // Specifics for OLEUICHANGESOURCE.
        LPOLEUILINKCONTAINERW  lpOleUILinkContainer;
        DWORD                  dwLink;
        LPTSTR                 lpszDisplayName;
        ULONG                  nFileLength;
        LPTSTR                 lpszFrom;
        LPTSTR                 lpszTo;
    } OLEUICHANGESOURCEW, *POLEUICHANGESOURCEW, FAR *LPOLEUICHANGESOURCEW;

Members

cbStruct
  Size of the structure in bytes.
dwFlags
  On input, this field specifies the initialization and creation flags. On exit, it specifies the user’s choices. It may be a combination of the following flags:
  CSF_SHOWHELP
    Enables or shows the Help button.
  CSF_VALIDSOURCE
    Indicates that the link was validated.
  CSF_ONLYGETSOURCE
    Disables automatic validation of the link source when the user presses OK. If you specify this flag, you should validate the source when the dialog box returns OK.
hWndOwner
  Window that owns the dialog box.
lpszCaption
  Pointer to a string to be used as the title of the dialog box. If NULL, then the library uses Change Source.
lpfnHook
  Pointer to a hook function that processes messages intended for the dialog box. The hook function must return zero to pass a message that it didn’t process back to the dialog box procedure in the library. The hook function must return a non-zero value to prevent the library’s dialog box procedure from processing a message it has already processed.
lCustData
  Application-defined data that the library passes to the hook function pointed to by the lpfnHook member. The library passes a pointer to the OLEUICHANGEICON structure in the lParam parameter of the WM_INITDIALOG message; this pointer can be used to retrieve the lCustData member.
hInstance
  Instance that contains a dialog box template specified by the lpszTemplate member. This member is ignored if the lpszTemplate member is NULL or invalid.
lpszTemplate
  Pointer to a null-terminated string that specifies the name of the resource file for the dialog box template that is to be substituted for the library’s Convert dialog box template.
hResource
  Resource handle for a custom dialog box. If this member is NULL, then the library uses the standard Convert dialog box template, or if it is valid, the template named by the lpszTemplate member.
lpOFN
  Pointer to the OPENFILENAME structure, which contains information used by the operating system to initialize the system-defined Open or Save As dialog boxes.
dwReserved1[4]
  Reserved for future use.
lpOleUILinkContainer
  Pointer to the container’s implementation of the IOleUILinkContainer interface, used to validate the link source. The Edit Links dialog box uses this to allow the container to manipulate its links.
dwLink
  Container-defined unique 32-bit link identifier used to validate link sources. Used by lpOleUILinkContainer.
lpszDisplayName
  Pointer to the complete source display name.
nFileLength
  File moniker portion of lpszDisplayName.
lpszFrom
  Pointer to the prefix of the source that was changed from.
lpszTo
  Pointer to the prefix of the source to be changed to.

See Also

IOleUILinkContainer, OleUIChangeSource