windows-nt/Source/XPSP1/NT/shell/ext/ratings/msrating/pleasdlg.h
2020-09-26 16:20:57 +08:00

92 lines
2.6 KiB
C++

/****************************************************************************\
*
* pleasdlg.h
*
* Created: William Taylor (wtaylor) 01/22/01
*
* MS Ratings Access Denied Dialog
*
\****************************************************************************/
#ifndef PLEASE_DIALOG_H
#define PLEASE_DIALOG_H
#include "basedlg.h" // CBaseDialog
const UINT MAX_CACHED_LABELS = 16;
const UINT WM_NEWDIALOG = WM_USER + 1000;
const DWORD PDD_DONE = 0x1;
const DWORD PDD_ALLOW = 0x2;
// $BUG - This should be placed in pleasdlg.cpp.
const char szRatingsProp[] = "RatingsDialogHandleProp";
const char szRatingsValue[] = "RatingsDialogHandleValue";
struct PleaseDlgData
{
LPCSTR pszUsername;
LPCSTR pszContentDescription;
PicsUser *pPU;
CParsedLabelList *pLabelList;
HWND hwndDlg;
HWND hwndOwner;
DWORD dwFlags;
HWND hwndEC;
UINT cLabels;
LPSTR apLabelStrings[MAX_CACHED_LABELS];
};
class CPleaseDialog: public CBaseDialog<CPleaseDialog>
{
private:
static DWORD aIds[];
static DWORD aPleaseIds[];
PleaseDlgData * m_ppdd;
public:
enum { IDD = IDD_PLEASE };
public:
CPleaseDialog( PleaseDlgData * p_ppdd );
public:
typedef CPleaseDialog thisClass;
typedef CBaseDialog<thisClass> baseClass;
BEGIN_MSG_MAP(thisClass)
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
COMMAND_ID_HANDLER(IDCANCEL, OnCancel)
COMMAND_ID_HANDLER(IDOK, OnOK)
MESSAGE_HANDLER(WM_HELP, OnHelp)
MESSAGE_HANDLER(WM_CONTEXTMENU, OnContextMenu)
MESSAGE_HANDLER(WM_NEWDIALOG, OnNewDialog)
CHAIN_MSG_MAP(baseClass)
END_MSG_MAP()
protected:
LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
LRESULT OnCancel(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
LRESULT OnOK(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
LRESULT OnHelp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
LRESULT OnContextMenu(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
LRESULT OnNewDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
protected:
void AppendString(HWND hwndEC, LPCSTR pszString);
void AddSeparator(HWND hwndEC, BOOL fAppendToEnd);
void InitPleaseDialog( PleaseDlgData * pdd );
void EndPleaseDialog( BOOL fRet);
HRESULT AddToApprovedSites( BOOL fAlwaysNever, BOOL fSitePage );
protected:
BOOL IsPleaseDialog( void ) { ASSERT( m_ppdd ); return ( m_ppdd ? m_ppdd->pPU->fPleaseMom : TRUE ); }
BOOL IsDenyDialog( void ) { return ! IsPleaseDialog(); }
};
#endif