89 lines
2.8 KiB
C++
89 lines
2.8 KiB
C++
//+---------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1997-2001.
|
|
//
|
|
// File: dialogs.h
|
|
//
|
|
// Contents:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
// Dialogs.h
|
|
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////
|
|
class CSendConsoleMessageDlg
|
|
{
|
|
protected:
|
|
HWND m_hdlg; // Handle of the dialog
|
|
HWND m_hwndEditMessageText; // Handle of edit control for the message text
|
|
HWND m_hwndListviewRecipients; // Handle of the listview of the recipients
|
|
HIMAGELIST m_hImageList; // Image list for the listview control
|
|
volatile int m_cRefCount; // Reference count of object
|
|
|
|
public:
|
|
CSendConsoleMessageDlg();
|
|
~CSendConsoleMessageDlg();
|
|
static INT_PTR DlgProc(HWND hdlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
|
|
|
protected:
|
|
void AddRef();
|
|
void Release();
|
|
|
|
void OnInitDialog(HWND hdlg, IDataObject * pDataObject);
|
|
void OnOK();
|
|
LRESULT OnNotify(NMHDR * pNmHdr);
|
|
BOOL OnHelp(LPARAM lParam, int nDlgIDD);
|
|
void DoContextHelp (HWND hWndControl, int nDlgIDD);
|
|
void DoSendConsoleMessageContextHelp (HWND hWndControl);
|
|
|
|
protected:
|
|
int AddRecipient(LPCTSTR pszRecipient, BOOL fSelectItem = FALSE);
|
|
|
|
void UpdateUI();
|
|
void EnableDlgItem(INT nIdDlgItem, BOOL fEnable);
|
|
|
|
protected:
|
|
// Dispatch info
|
|
enum PROGRES_STATUS_ENUM
|
|
{
|
|
e_statusDlgInit = 1, // Dialog is initializing
|
|
e_statusDlgDispatching, // Dialog is dispatching message to recipients
|
|
e_statusDlgCompleted, // The dialog completed the operation (with or without errors)
|
|
e_statusUserCancel, // The user clicked on the "Cancel" button
|
|
};
|
|
struct
|
|
{
|
|
PROGRES_STATUS_ENUM status;
|
|
BYTE * pargbItemStatus; // Array of boolean indicating the status of each recipient
|
|
int cErrors; // Number of errors while sending messages
|
|
CRITICAL_SECTION cs; // Synchronization object for the "status" variable
|
|
volatile HWND hdlg; // Handle of the "Progress Dialog"
|
|
volatile HWND hctlStaticRecipient;
|
|
volatile HWND hctlStaticMessageOf;
|
|
volatile HWND hctlStaticErrors;
|
|
volatile HWND hctlProgressBar;
|
|
} m_DispatchInfo;
|
|
void DispatchMessageToRecipients();
|
|
static INT_PTR DlgProcDispatchMessageToRecipients(HWND hdlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
|
static DWORD WINAPI ThreadProcDispatchMessageToRecipients(CSendConsoleMessageDlg * pThis);
|
|
}; // CSendConsoleMessageDlg
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////
|
|
class CSendMessageAdvancedOptionsDlg
|
|
{
|
|
protected:
|
|
HWND m_hdlg;
|
|
BOOL m_fSendAutomatedMessage;
|
|
|
|
public:
|
|
static INT_PTR DlgProc(HWND hdlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
|
|
|
protected:
|
|
void OnInitDialog(HWND hdlg);
|
|
void UpdateUI();
|
|
BOOL OnHelp(LPARAM lParam);
|
|
}; // CSendMessageAdvancedOptionsDlg
|