初步修复
This commit is contained in:
parent
8fc4357cc6
commit
e4714f3f0e
46705 changed files with 12004901 additions and 0 deletions
|
|
@ -0,0 +1,267 @@
|
|||
#include "stdafx.h"
|
||||
#include "Resource.h"
|
||||
|
||||
#include "TaskDialogSamples.h"
|
||||
|
||||
///////////////// TEST CODE ///////////////////
|
||||
|
||||
enum { IDC_BUTTON_STATE = 101, IDC_BUTTON_MODE, };
|
||||
|
||||
CProgressEffectsDialog::CProgressEffectsDialog(CWnd* pWndParent)
|
||||
: CXTPTaskDialog(pWndParent)
|
||||
, m_eState(PBST_NORMAL)
|
||||
, m_bMarquee(TRUE)
|
||||
{
|
||||
SetWindowTitle(_T("Progress Effects"));
|
||||
|
||||
AddButton(_T("Cycle State"), IDC_BUTTON_STATE);
|
||||
AddButton(_T("Toggle Mode"), IDC_BUTTON_MODE);
|
||||
AddButton(_T("Change password"), IDOK);
|
||||
|
||||
m_config.dwFlags |= TDF_ALLOW_DIALOG_CANCELLATION | TDF_SHOW_PROGRESS_BAR;
|
||||
}
|
||||
|
||||
void CProgressEffectsDialog::OnDialogConstructed()
|
||||
{
|
||||
UpdateMainInstruction();
|
||||
|
||||
SetButtonElevationRequired(IDOK, TRUE);
|
||||
|
||||
}
|
||||
|
||||
void CProgressEffectsDialog::OnButtonClicked(int nButtonID, BOOL& bCloseDialog)
|
||||
{
|
||||
switch (nButtonID)
|
||||
{
|
||||
case IDC_BUTTON_STATE: CycleState(); bCloseDialog = FALSE; break;
|
||||
case IDC_BUTTON_MODE: ToggleMode(); bCloseDialog = FALSE; break;
|
||||
}
|
||||
}
|
||||
|
||||
void CProgressEffectsDialog::UpdateMainInstruction()
|
||||
{
|
||||
CString strText;
|
||||
|
||||
switch (m_eState)
|
||||
{
|
||||
case PBST_NORMAL: strText += _T("State: Normal\n"); break;
|
||||
case PBST_PAUSED: strText += _T("State: Paused\n"); break;
|
||||
case PBST_ERROR: strText += _T("State: Error\n"); break;
|
||||
}
|
||||
|
||||
CString strTemp;
|
||||
strTemp.Format(_T("Marquee: %s"), m_bMarquee ? _T("True") : _T("False"));
|
||||
strText += strTemp;
|
||||
|
||||
SetMainInstruction(strText);
|
||||
|
||||
if (m_bMarquee) {
|
||||
SetMarqueeProgressBar(m_bMarquee);
|
||||
StartProgressBarMarquee(TRUE, 10);
|
||||
}
|
||||
else {
|
||||
SetProgressBarRange(0, 50);
|
||||
SetProgressBarPos(25);
|
||||
}
|
||||
}
|
||||
|
||||
void CProgressEffectsDialog::CycleState()
|
||||
{
|
||||
switch (m_eState)
|
||||
{
|
||||
case PBST_NORMAL: m_eState = PBST_PAUSED; break;
|
||||
case PBST_PAUSED: m_eState = PBST_ERROR; break;
|
||||
case PBST_ERROR: m_eState = PBST_NORMAL; break;
|
||||
}
|
||||
|
||||
SetProgressBarState(m_eState);
|
||||
UpdateMainInstruction();
|
||||
}
|
||||
|
||||
void CProgressEffectsDialog::ToggleMode()
|
||||
{
|
||||
m_bMarquee = !m_bMarquee;
|
||||
SetMarqueeProgressBar(m_bMarquee);
|
||||
UpdateMainInstruction();
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// CDynamicTextDialog
|
||||
|
||||
CDynamicTextDialog::CDynamicTextDialog(CWnd* pWndParent)
|
||||
: CXTPTaskDialog(pWndParent)
|
||||
{
|
||||
SetWindowTitle(_T("Dynamic Text"));
|
||||
SetFooter(_T("Click Button to change text"));
|
||||
|
||||
SetContent(_T("<a href=\"click\">Some text!</a>"));
|
||||
|
||||
|
||||
AddButton(_T("Change Main text"), 100);
|
||||
AddButton(_T("Change Content text"), 101);
|
||||
AddButton(_T("Change Footer text"), 102);
|
||||
EnableMessageBoxStyle(); // Only for our Codejock Implementation
|
||||
|
||||
EnableCancellation();
|
||||
EnableHyperlinks();
|
||||
SetCommonButtons(TDCBF_OK_BUTTON);
|
||||
}
|
||||
|
||||
void CDynamicTextDialog::OnDialogConstructed()
|
||||
{
|
||||
}
|
||||
|
||||
void CDynamicTextDialog::OnButtonClicked(int nButtonID, BOOL& bCloseDialog)
|
||||
{
|
||||
switch (nButtonID)
|
||||
{
|
||||
case 100:
|
||||
SetMainInstruction(_T("New text"));
|
||||
EnableButton(100, FALSE);
|
||||
bCloseDialog = FALSE;
|
||||
break;
|
||||
|
||||
case 101:
|
||||
SetContent(_T("<a href=\"click\">Some New text!</a>"));
|
||||
EnableButton(101, FALSE);
|
||||
bCloseDialog = FALSE;
|
||||
break;
|
||||
|
||||
case 102:
|
||||
SetFooter(_T("New text"));
|
||||
EnableButton(102, FALSE);
|
||||
bCloseDialog = FALSE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class CSendFeedbackDialog : public CXTPTaskDialog
|
||||
{
|
||||
public:
|
||||
CSendFeedbackDialog();
|
||||
virtual ~CSendFeedbackDialog(void);
|
||||
|
||||
protected:
|
||||
virtual void OnNavigated();
|
||||
virtual void OnButtonClicked(int /*buttonId*/, BOOL& closeDialog);
|
||||
virtual void OnTimer(DWORD dwMilliSeconds, BOOL& bReset);
|
||||
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
MaxRange = 5000
|
||||
};
|
||||
|
||||
|
||||
CSendFeedbackDialog::CSendFeedbackDialog()
|
||||
{
|
||||
SetWindowTitle(_T("Error Sample (page 2)"));
|
||||
SetContent(_T("Copying your feedback"));
|
||||
|
||||
EnableCancellation();
|
||||
ShowProgressBar(TRUE);
|
||||
EnableCallbackTimer();
|
||||
}
|
||||
|
||||
CSendFeedbackDialog::~CSendFeedbackDialog(void)
|
||||
{
|
||||
}
|
||||
|
||||
void CSendFeedbackDialog::OnNavigated()
|
||||
{
|
||||
SetProgressBarRange(0, MaxRange);
|
||||
}
|
||||
|
||||
void CSendFeedbackDialog::OnButtonClicked(int /*buttonId*/, BOOL& closeDialog)
|
||||
{
|
||||
closeDialog = TRUE;
|
||||
}
|
||||
|
||||
void CSendFeedbackDialog::OnTimer(DWORD dwMilliSeconds, BOOL& /*bReset*/)
|
||||
{
|
||||
if (MaxRange >= dwMilliSeconds)
|
||||
{
|
||||
USES_CONVERSION;
|
||||
|
||||
CString text;
|
||||
text.Format(_T("Sending... %i%%"), MulDiv(dwMilliSeconds, 100, MaxRange));
|
||||
SetMainInstruction(text);
|
||||
|
||||
SetProgressBarPos(dwMilliSeconds);
|
||||
SetProgressBarRange(0, MaxRange);
|
||||
}
|
||||
else
|
||||
{
|
||||
SetMainInstruction(_T("Thanks for the feedback!"));
|
||||
SetContent(_T("Our developers will get right on that..."));
|
||||
SetProgressBarPos(MaxRange);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
CTimerDialog::CTimerDialog(CWnd* pWndParent)
|
||||
: CXTPTaskDialog(pWndParent)
|
||||
{
|
||||
SetWindowTitle(_T("Timer Sample"));
|
||||
SetMainInstruction(_T("Timer Sample"));
|
||||
SetMainIcon(TD_INFORMATION_ICON);
|
||||
AddButton(_T("Send Feedback"), 100);
|
||||
|
||||
SetCommonButtons(TDCBF_OK_BUTTON | TDCBF_CANCEL_BUTTON);
|
||||
EnableCallbackTimer();
|
||||
EnableMessageBoxStyle(); // Only for our Codejock Implementation
|
||||
|
||||
SetVerificationText(_T("Enable Timer"));
|
||||
SetVerifyCheckState();
|
||||
m_nIcon = 0;
|
||||
}
|
||||
|
||||
void CTimerDialog::OnDialogConstructed()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void CTimerDialog::OnButtonClicked(int nButtonID, BOOL& bCloseDialog)
|
||||
{
|
||||
if (nButtonID == 100)
|
||||
{
|
||||
CSendFeedbackDialog fd;
|
||||
fd.DoModal(FALSE);
|
||||
|
||||
bCloseDialog = FALSE;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
void CTimerDialog::OnVerificationClicked(BOOL bChecked)
|
||||
{
|
||||
m_bUpdateIcon = bChecked;
|
||||
}
|
||||
|
||||
|
||||
void CTimerDialog::OnTimer(DWORD dwMilliSeconds, BOOL& bReset)
|
||||
{
|
||||
if (dwMilliSeconds > 700 && m_bUpdateIcon)
|
||||
{
|
||||
m_nIcon = (m_nIcon + 1) % 5;
|
||||
|
||||
if (m_nIcon < 4)
|
||||
{
|
||||
SetMainIcon(m_nIcon == 0 ? TD_INFORMATION_ICON :
|
||||
m_nIcon == 1 ? TD_WARNING_ICON :
|
||||
m_nIcon == 2 ? TD_ERROR_ICON : TD_SHIELD_ICON);
|
||||
}
|
||||
else
|
||||
{
|
||||
SetMainIcon(AfxGetApp()->LoadIcon(IDR_MAINFRAME));
|
||||
}
|
||||
|
||||
bReset = TRUE;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue