本文整理汇总了C++中CDlgBase::DoYes方法的典型用法代码示例。如果您正苦于以下问题:C++ CDlgBase::DoYes方法的具体用法?C++ CDlgBase::DoYes怎么用?C++ CDlgBase::DoYes使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CDlgBase
的用法示例。
在下文中一共展示了CDlgBase::DoYes方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnMessage
//.........这里部分代码省略.........
if(m_strAction.Find(_T("link:")) == 0) // 动作:打开一个页面链接
{
if(uMsg == BUTTOM_UP) // 鼠标放开事件才处理
{
CString strLink = m_strAction;
strLink.Delete(0, 5);
if(!strLink.IsEmpty())
{
ShellExecute(NULL, TEXT("open"), strLink, NULL,NULL,SW_NORMAL);
}
}
}else
if(m_strAction.Find(_T("run:")) == 0) // 动作:执行一个进程
{
if(uMsg == BUTTOM_UP) // 鼠标放开事件才处理
{
CString strProcess = m_strAction;
strProcess.Delete(0, 4);
strProcess.MakeLower();
if(!strProcess.IsEmpty())
{
strProcess.MakeLower();
BOOL bForceAdmin = FALSE;
if(strProcess.Find(_T("[email protected]")) == 0)
{
bForceAdmin = TRUE;
strProcess.Delete(0, 6);
}
BOOL bWaitProcess = FALSE;
if(strProcess.Find(_T("&")) == (strProcess.GetLength()-1))
{
bWaitProcess = TRUE;
strProcess.Delete(strProcess.GetLength()-1, 1);
}
if(strProcess.Find(_T(".exe")) == -1)
{
strProcess = DuiSystem::Instance()->GetString(CEncodingUtil::UnicodeToAnsi(strProcess));
}
if(strProcess.Find(_T("{platpath}")) == 0)
{
strProcess.Delete(0, 10);
strProcess = DuiSystem::GetExePath() + strProcess;
}
CString strCmdLine = _T("");
int nPos = strProcess.Find(_T("|"));
if(nPos != -1)
{
strCmdLine = strProcess;
strCmdLine.Delete(0, nPos+1);
strProcess = strProcess.Left(nPos);
}
DuiSystem::PathCanonicalize(strProcess); // 路径标准化
DuiSystem::ExecuteProcess(strProcess, strCmdLine, bForceAdmin, bWaitProcess);
}
}
}else
if(m_strAction.Find(ACTION_CLOSE_WINDOW) == 0) // 动作:关闭指定的窗口
{
if(uMsg == BUTTOM_UP) // 鼠标放开事件才处理
{
CString strWndName = m_strAction;
strWndName.Delete(0, 13);
if(!strWndName.IsEmpty())
{
CDlgBase* pDlg = DuiSystem::Instance()->GetDuiDialog(strWndName);
if(pDlg != NULL)
{
//pDlg->DoClose();
pDlg->PostMessage(WM_QUIT, 0, 0);
}
}
}
}else
{
// 首先判断如果是几个默认按钮,则直接做相应的处理
CDlgBase* pParentDlg = GetParentDialog();
if(IsThisObject(BT_OK, NAME_BT_OK))
{
if((BUTTOM_UP == uMsg) && (pParentDlg != NULL)) { pParentDlg->DoOK(); }
}else
if(IsThisObject(BT_CANCEL, NAME_BT_CANCEL))
{
if((BUTTOM_UP == uMsg) && (pParentDlg != NULL)) { pParentDlg->DoCancel(); }
}else
if(IsThisObject(BT_YES, NAME_BT_YES))
{
if((BUTTOM_UP == uMsg) && (pParentDlg != NULL)) { pParentDlg->DoYes(); }
}else
if(IsThisObject(BT_NO, NAME_BT_NO))
{
if((BUTTOM_UP == uMsg) && (pParentDlg != NULL)) { pParentDlg->DoNo(); }
}else
{
// 调用控件的DUI事件处理对象
CallDuiHandler(uMsg, wParam, lParam);
}
}
return 0;
}