不知道怎么写标题了,应该是《模板》

欢乐马_19e9 2013-01-14 02:13:35
代码如下,可以用模板实现吗?我感觉可以合并成一句话。
请大神指点。小弟现行谢过了。
void CQRDemoDlg::OnDianhua()
{
CDialogTel dlg;
if (dlg.DoModal() == IDOK)
{
CString strText = _T("tel:") + dlg.strEditText;
SetDlgItemText(IDC_EDIT2,strText);
OnNewQr();
}
}

void CQRDemoDlg::OnLianxiren()
{
CDialogLianXiRen dlg;
if (dlg.DoModal() == IDOK)
{
CString strText = dlg.strEditText;
SetDlgItemText(IDC_EDIT2,strText);
OnNewQr();
}


}

void CQRDemoDlg::OnDuanxin()
{
CDialogSms dlg;
if (dlg.DoModal() == IDOK)
{
CString strText = dlg.strEditText;
SetDlgItemText(IDC_EDIT2,strText);
OnNewQr();
}
}

void CQRDemoDlg::OnWeizhi()
{
CDialogZuoBiao dlg;
if (dlg.DoModal() == IDOK)
{
CString strText = dlg.strEditText;
SetDlgItemText(IDC_EDIT2,strText);
OnNewQr();
}

}
...全文
186 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
欢乐马_19e9 2013-01-15
  • 打赏
  • 举报
回复
引用 5 楼 gfm688 的回复:
C/C++ code?1234567891011121314151617181920212223242526template <class T>void TemplateFunc(CQRDemoDlg * pDlg){ T dlg; if (dlg.DoModal() == IDOK) { CString strText = dlg.strEditText; ……
太谢谢了啊!
yaozhiyong110 2013-01-14
  • 打赏
  • 举报
回复
引用 5 楼 gfm688 的回复:
C/C++ code ? 123456789101112131415161718192021222324252627 template <class T> void TemplateFunc(CQRDemoDlg * pDlg) { T dlg; if (dlg.DoModal() == IDOK) { CString strText = dlg.strE……
+1
gfm688 2013-01-14
  • 打赏
  • 举报
回复

template <class T>
void TemplateFunc(CQRDemoDlg * pDlg)
{
  T dlg;
  if (dlg.DoModal() == IDOK)
  {
    CString strText = dlg.strEditText;
    pDlg->SetDlgItemText(IDC_EDIT2, strText);
    pDlg->OnNewQr();
  }
}

void CQRDemoDlg::OnLianxiren()
{
  TemplateFunc<CDialogLianXiRen>(this);
}
 
void CQRDemoDlg::OnDuanxin()
{
  TemplateFunc<CDialogSms>(this);
}
 
void CQRDemoDlg::OnWeizhi()
{
  TemplateFunc<CDialogZuoBiao>(this);
}
欢乐马_19e9 2013-01-14
  • 打赏
  • 举报
回复
没有人了吗?我可是一直在刷新啊!!
欢乐马_19e9 2013-01-14
  • 打赏
  • 举报
回复
可是我变的是 dlg 啊。int 怎么传啊?
 
void CQRDemoDlg::OnWeizhi()
{
    CDialogZuoBiao dlg;   // 在这里啊,都是这里变了啊啊
    if (dlg.DoModal() == IDOK)
    {
        CString strText =  dlg.strEditText;
        SetDlgItemText(IDC_EDIT2,strText);
        OnNewQr();
    }
 
}
jimette 2013-01-14
  • 打赏
  • 举报
回复
可以传一个参数 进行重载! template 模板
九州剑王 2013-01-14
  • 打赏
  • 举报
回复
可以,void CQRDemoDlg::OnEvent(int type)

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧