
// Support for Progress Dialog with Cancel button
LRESULT CALLBACK PNProgressDlgProc( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam  );
HWND PNProgressDlgPopup( HWND hParent, int Min=0, int Max=100 );
BOOL PNProgressDlgSetPos( HWND hDlg, int Pos, const char* Label=0 );
BOOL PNProgressDlgClose( HWND hDlg );
BOOL PNProgressDlgCanceled( HWND hDlg );

// Support for Slider control
void PNSetSliderRange( HWND hWnd, int Min, int Max, BOOL Redraw );

// Support for Image List
HIMAGELIST PNGetSysImageList( BOOL LargeImages );
BOOL PNGetPathIcons( const char* Path, int& iIcon, int& iIconSel, BOOL Large, BOOL MustSlash );

// Support for ListView control
int PNListViewInsertColumn( HWND hWnd, int Column, char* Header, int Percent );
int PNListViewInsertItem( HWND hWnd, int Row, char* Text, int Image );
void PNListViewDeleteColumns( HWND hWnd );
int PNListViewInitDrives( HWND hWnd );
int PNListViewGetItemData( HWND hWnd, int Index );
BOOL PNListViewSetItemData( HWND hWnd, int Index, int Data );


// Support for Tree controls
HTREEITEM PNTreeViewInsertItem( HWND hWnd, LPTSTR Text, 
		HTREEITEM hParent=TVI_ROOT, HTREEITEM hInsertAt = TVI_SORT, int iImageIndex=-1, int iSelectedImageIndex=-1 );
BOOL PNTreeViewGetItemText( HWND hWnd, LPTSTR pDest, int iMax, HTREEITEM hNode=0 );
BOOL PNTreeViewSetItemText( HWND hWnd, LPTSTR pDest, HTREEITEM hNode=0 );
int PNTreeViewInitDrives( HWND hWnd );
BOOL PNTreeViewExpandPath( HWND hWnd, LPARAM lParam );
void PNTreeViewGetDrivePath( HWND hWnd, char* Path, HTREEITEM hItem );
BOOL PNTreeViewSetCheckState( HWND hWnd, HTREEITEM hItem, BOOL bState );
BOOL PNTreeViewGetCheckState( HWND hWnd, HTREEITEM hItem );

// Support for PNInputBox
BOOL PNTextBox( HWND hParent, LPTSTR pDest, int iMax, LPCSTR pPrompt, LPTSTR pCaption, BOOL bClearFirst=TRUE );


// Support for Tab Controls
BOOL PNTabControlInsertItem( HWND hWnd, int Item, LPCTSTR pItemText );
