You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.4 KiB
51 lines
1.4 KiB
4 months ago
|
// Windows/Control/PropertyPage.h
|
||
|
|
||
|
#ifndef __WINDOWS_CONTROL_PROPERTYPAGE_H
|
||
|
#define __WINDOWS_CONTROL_PROPERTYPAGE_H
|
||
|
|
||
|
#include "../../Common/MyWindows.h"
|
||
|
|
||
|
#include <prsht.h>
|
||
|
|
||
|
#include "Dialog.h"
|
||
|
|
||
|
namespace NWindows {
|
||
|
namespace NControl {
|
||
|
|
||
|
INT_PTR APIENTRY ProperyPageProcedure(HWND dialogHWND, UINT message, WPARAM wParam, LPARAM lParam);
|
||
|
|
||
|
class CPropertyPage: public CDialog
|
||
|
{
|
||
|
public:
|
||
|
CPropertyPage(HWND window = NULL): CDialog(window){};
|
||
|
|
||
|
void Changed() { PropSheet_Changed(GetParent(), (HWND)*this); }
|
||
|
void UnChanged() { PropSheet_UnChanged(GetParent(), (HWND)*this); }
|
||
|
|
||
|
virtual bool OnNotify(UINT controlID, LPNMHDR lParam);
|
||
|
|
||
|
virtual bool OnKillActive() { return false; } // false = OK
|
||
|
virtual bool OnKillActive(const PSHNOTIFY *) { return OnKillActive(); }
|
||
|
virtual LONG OnSetActive() { return false; } // false = OK
|
||
|
virtual LONG OnSetActive(const PSHNOTIFY *) { return OnSetActive(); }
|
||
|
virtual LONG OnApply() { return PSNRET_NOERROR; }
|
||
|
virtual LONG OnApply(const PSHNOTIFY *) { return OnApply(); }
|
||
|
virtual void OnNotifyHelp() {}
|
||
|
virtual void OnNotifyHelp(const PSHNOTIFY *) { OnNotifyHelp(); }
|
||
|
virtual void OnReset() {}
|
||
|
virtual void OnReset(const PSHNOTIFY *) { OnReset(); }
|
||
|
};
|
||
|
|
||
|
struct CPageInfo
|
||
|
{
|
||
|
CPropertyPage *Page;
|
||
|
UString Title;
|
||
|
UINT ID;
|
||
|
};
|
||
|
|
||
|
INT_PTR MyPropertySheet(const CObjectVector<CPageInfo> &pagesInfo, HWND hwndParent, const UString &title);
|
||
|
|
||
|
}}
|
||
|
|
||
|
#endif
|