+ -
当前位置:首页 → 问答吧 → 一个对话框调(CDlgUI)用另一对话框(CDlgHelp), 反复<<进入>><<退出>>, 程序会出问题,会

一个对话框调(CDlgUI)用另一对话框(CDlgHelp), 反复<<进入>><<退出>>, 程序会出问题,会

时间:2011-12-22

来源:互联网

一个对话框调(CDlgUI)用另一对话框(CDlgHelp), 反复<<进入>><<退出>>, 程序会出问题,会是什么原因呢?

void CDlgUI::OnBnClickedBtnHelp()
{
CDlgHelp dlg;

if (IDOK ==dlg.DoModal())
{

}
}


void CDlgHelp::OnBnClickedOk()
{
OnOK();
}


作者: shenzhentom   发布时间: 2011-12-22

以下代码对程序有影响吗?(会造成上述现象吗?)

void CDlgHelp::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
// Do not call CDialog::OnPaint() for painting messages

CRect rect;  
GetClientRect(&rect);  
CDC dcMem;  
dcMem.CreateCompatibleDC(&dc);  
CBitmap bmpBackground;  
bmpBackground.LoadBitmap(IDB_BKDLG_BITMAP);  
BITMAP bitmap;  
bmpBackground.GetBitmap(&bitmap);  
CBitmap *pbmpOld=dcMem.SelectObject(&bmpBackground);  
dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,  
bitmap.bmWidth,bitmap.bmHeight,SRCCOPY); 

}


BOOL CDlgHelp::OnInitDialog()
{
CDialog::OnInitDialog();

CString str;

#if 1
  str = L"1. 蓝牙和其它蓝牙设备进行互访时, 一般要经过查找蓝牙设备, 配对, 连接, 进行互访几个步骤.\r\n\
2. 蓝牙工具软件中:\r\n\
(1) <<关蓝牙>><<开蓝牙>>-->开关本机蓝牙模块电源.\r\n\
(2) <<查找>>-->周围的蓝牙设备.\r\n\
(3) <<配对>>-->和所选的设备进行配对(注意密码需一致,注册表中可设置密码).\r\n\";
#endif

GetDlgItem(IDC_EDIT1)->SetWindowText(str);

return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}

作者: shenzhentom   发布时间: 2011-12-22

不是这里的原因

作者: krh2001   发布时间: 2011-12-22