#ifndef FTPROP_H #define FTPROP_H #include "ftdlg.h" class CFTPropDlg : public CFTDlg { public: CFTPropDlg(); /////////////////////////////////////////////////////////////////////////////// // Implementation private: // Message handlers LRESULT WndProc(UINT uMsg, WPARAM wParam, LPARAM lParam); // Dialog messages LRESULT OnCommand(WPARAM wParam, LPARAM lParam); LRESULT OnInitDialog(WPARAM wParam, LPARAM lParam); LRESULT OnFinishInitDialog(); LRESULT OnNotify(WPARAM wParam, LPARAM lParam); LRESULT OnDestroy(WPARAM wParam, LPARAM lParam); // Misc LRESULT OnCtlColorStatic(WPARAM wParam, LPARAM lParam); // Control specific // ListView LRESULT OnNotifyListView(UINT uCode, LPNMHDR pNMHDR); LRESULT OnListViewSelItem(int iItem, LPARAM lParam); LRESULT OnListViewColumnClick(int iCol); // New, Remove, Edit buttons LRESULT OnNewButton(WORD wNotif); LRESULT OnDeleteButton(WORD wNotif); LRESULT OnRemoveButton(WORD wNotif); LRESULT OnEditButton(WORD wNotif); LRESULT OnAdvancedButton(WORD wNotif); LRESULT OnChangeButton(WORD wNotif); // Misc BOOL _GetListViewSelectedItem(UINT uMask, UINT uStateMask, LVITEM* plvItem); // Member variables private: HIMAGELIST _hImageList; BOOL _fPerUserAdvButton; BOOL _fStopThread; BOOL _fUpdateImageAgain; // Optimization int _iLVSel; /////////////////////////////////////////////////////////////////////////////// // Helpers private: // General inline HWND _GetLVHWND(); // Lower pane HRESULT _UpdateProgIDButtons(LPTSTR pszExt, LPTSTR pszProgID); HRESULT _UpdateGroupBox(LPTSTR pszExt, BOOL fExt); HRESULT _UpdateDeleteButton(BOOL fExt); HRESULT _UpdateOpensWith(LPTSTR pszExt, LPTSTR pszProgID); HRESULT _UpdateAdvancedText(LPTSTR pszExt, LPTSTR pszFileType, BOOL fExt); HRESULT _EnableLowerPane(BOOL fEnable = TRUE); // ListView HRESULT _InitListView(); HRESULT _FillListView(); HRESULT _SelectListViewItem(int i); HRESULT _DeleteListViewItem(int i); void _UpdateListViewItem(LVITEM* plvItem); HRESULT _InitPreFillListView(); HRESULT _InitPostFillListView(); DWORD _UpdateAllListViewItemImages(); void _SetAdvancedRestoreButtonHelpID(DWORD dwID); int _GetNextNAItemPos(int iFirstNAItem, int cNAItem, LPTSTR pszProgIDDescr); static DWORD WINAPI _UpdateAllListViewItemImagesWrapper(LPVOID lpParameter); static DWORD WINAPI _FillListViewWrapper(LPVOID lpParameter); static DWORD WINAPI _ThreadAddRefCallBack(LPVOID lpParameter); int _InsertListViewItem(int iItem, LPTSTR pszExt, LPTSTR pszProgIDDescr, LPTSTR pszProgID = NULL); BOOL _ShouldEnableButtons(); }; #endif //FTPROP_H