145 lines
4.4 KiB
C++
145 lines
4.4 KiB
C++
|
/**********************************************************************/
|
||
|
/** Microsoft LAN Manager **/
|
||
|
/** Copyright(c) Microsoft Corp., 1991 **/
|
||
|
/**********************************************************************/
|
||
|
|
||
|
/*
|
||
|
fmx.hxx
|
||
|
Header file for FMX class
|
||
|
|
||
|
FILE HISTORY:
|
||
|
rustanl 30-Apr-1991 Created
|
||
|
Yi-HsinS 04-Oct-1991 Modified QuerySelection and QueryDriveInfo
|
||
|
to return APIERRs
|
||
|
|
||
|
*/
|
||
|
|
||
|
#ifndef _FMX_HXX_
|
||
|
#define _FMX_HXX_
|
||
|
|
||
|
|
||
|
/*******************************************************************
|
||
|
|
||
|
NAME: GetSelItem
|
||
|
|
||
|
SYNOPSIS: Gets the currently selected item from the File Manager
|
||
|
Extensions.
|
||
|
|
||
|
ENTRY: hwnd - Handle passed by File Manager for FMX uses
|
||
|
pnlsSelItem - pointer to string to receive the selection
|
||
|
fGetDirOnly - Indicates if a file is selected, the file
|
||
|
should be stripped thus only the files parent dir
|
||
|
is returned
|
||
|
pfIsFile - Set to TRUE if the selection is a file
|
||
|
|
||
|
EXIT:
|
||
|
|
||
|
RETURNS: NERR_Success if successful, error code otherwise
|
||
|
|
||
|
NOTES:
|
||
|
|
||
|
HISTORY:
|
||
|
Johnl 21-Jan-1992 Moved from share stuff
|
||
|
|
||
|
********************************************************************/
|
||
|
|
||
|
APIERR GetSelItem( HWND hwnd,
|
||
|
NLS_STR *pnlsSelItem,
|
||
|
BOOL fGetDirOnly = TRUE,
|
||
|
BOOL *pfIsFile = NULL ) ;
|
||
|
|
||
|
/*******************************************************************
|
||
|
|
||
|
NAME: GetSelItem
|
||
|
|
||
|
SYNOPSIS: Retrieves the ith selection from the file manager
|
||
|
|
||
|
ENTRY: hwnd - FMX Window handle
|
||
|
iSelection - Retrieve this selection
|
||
|
pnlsSelItem - file name is copied here
|
||
|
pfIsFile - TRUE if file, FALSE if directory
|
||
|
|
||
|
EXIT:
|
||
|
|
||
|
RETURNS:
|
||
|
|
||
|
NOTES:
|
||
|
|
||
|
HISTORY:
|
||
|
Johnl 13-Feb-1992 Created
|
||
|
|
||
|
********************************************************************/
|
||
|
|
||
|
APIERR GetSelItem( HWND hwnd,
|
||
|
UINT iSelection,
|
||
|
NLS_STR *pnlsSelItem,
|
||
|
BOOL *pfIsFile ) ;
|
||
|
|
||
|
|
||
|
/*************************************************************************
|
||
|
|
||
|
NAME: FMX
|
||
|
|
||
|
SYNOPSIS: Communicates with File Man
|
||
|
|
||
|
INTERFACE: FMX - Constructor
|
||
|
QueryFocus - Returns where focus is
|
||
|
QuerySelCount - Returns number of selected items
|
||
|
QuerySelection - Returns a selected item, has a flag that
|
||
|
defaults to converting the path from
|
||
|
OEM to ANSI.
|
||
|
QueryDriveInfo - Returns drive info from the currently
|
||
|
active window
|
||
|
Refresh - Causes File Man to refresh
|
||
|
ReloadExtensions - Causes File Man to reload all FM extensions
|
||
|
|
||
|
PARENT:
|
||
|
|
||
|
CAVEATS: This is, admittedly, a primitive interface.
|
||
|
|
||
|
NOTES: FMX calls are only guaranteed to work during calls out to
|
||
|
FMExtensionProc. It would be nice if these classes could
|
||
|
attempt to enforce this. But then, on the other hand,
|
||
|
perhaps we'd still like to call in at some other time.
|
||
|
|
||
|
To get FM's hwnd, listen for the first FMExtensionProc
|
||
|
message. It would be nice if that could be done
|
||
|
automatically.
|
||
|
|
||
|
HISTORY:
|
||
|
rustanl 30-Apr-1991 Created
|
||
|
|
||
|
**************************************************************************/
|
||
|
|
||
|
DLL_CLASS FMX
|
||
|
{
|
||
|
private:
|
||
|
HWND _hwnd;
|
||
|
|
||
|
ULONG_PTR Command( UINT usMsg, UINT wParam = 0, LPARAM lParam = 0 ) const;
|
||
|
|
||
|
public:
|
||
|
FMX( HWND hwnd );
|
||
|
|
||
|
UINT QueryFocus( void ) const;
|
||
|
|
||
|
UINT QuerySelCount( void ) const;
|
||
|
APIERR QuerySelection( INT iSel, FMS_GETFILESEL * pselinfo,
|
||
|
BOOL fAnsi = TRUE );
|
||
|
|
||
|
APIERR QueryDriveInfo( FMS_GETDRIVEINFO * pdriveinfo );
|
||
|
|
||
|
void Refresh( void );
|
||
|
void Reload( void );
|
||
|
|
||
|
//
|
||
|
// Returns TRUE if one or more file *and* directory is selected. If
|
||
|
// FALSE is returned, pfIsHomogeneousSelFiles is set indicating whether
|
||
|
// the selection contains files or directories.
|
||
|
//
|
||
|
BOOL IsHeterogeneousSelection( BOOL * pfIsHomogeneousSelFiles = NULL ) ;
|
||
|
|
||
|
}; // class FMX
|
||
|
|
||
|
#endif // _FMX_HXX_
|