我想用CStatic显示一个位图,把下面的代码放到主对话框的oninitdialog()里运行没有问题,可以显示,但我把它放在用主对话框弹出的非模式对话框中的oninitdialog()一运行就出错(编译没问题)请各位高人指点
hBitmap=::LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP1));
tu=((CStatic *)GetDlgItem(IDC_STATIC)); //tu是CStatic *;
tu->ModifyStyle(0xF,SS_BITMAP|SS_CENTERIMAGE);
tu->SetBitmap(hBitmap);
hBitmap=::LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP1));
tu=((CStatic *)GetDlgItem(IDC_STATIC)); //tu是CStatic *;
tu->ModifyStyle(0xF,SS_BITMAP|SS_CENTERIMAGE);
tu->SetBitmap(hBitmap);
解决方案 »
- 个人发一贴,怀念即将逝去的、充满收获的2012年,期待充满希望的2013年.
- VC CEdit控件输入问题
- 如何知道使用者的计算机上是否有安装Outlook
- 有没有发现回复的帖子刷新不同步?
- ListCtrl是不是有BUG啊?
- 新年到了,散分祝各位新年事事如意!
- ODBC编程中如何联接两个以上的数据库?
- 编程时候错误把一个源文件添加到工程了,怎样才能把这个文件去掉呢?直接删除会抱错
- 求教 播放动画的控件??????
- 如何让CPropertySheet有最小化,最大化系统系统菜单???
- CreateThread之后,线程并没有执行,为何?
- 请教:公司要建个这样的系统,比如说一个文件要10个部门领导审批,一个审批后自动到另一个人那里。。
把你的这段代码前加个判断,最好是在主窗口第二次OnDraw时再运行
BOOL CFanqingDlg::OnInitDialog()
{
CDialog::OnInitDialog(); ...... // Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
bmp=::LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP1));
tt=((CStatic *)GetDlgItem(IDC_FAN));
tt->ModifyStyle(0xF,SS_BITMAP|SS_CENTERIMAGE);
tt->SetBitmap(bmp); // TODO: Add extra initialization here
return TRUE; // return TRUE unless you set the focus to a control
}
如果是主对话框的OnInitDialog()就没问题,可以显示图片,但是把代码放在从主对话框中弹出的非模态对话框的OnInitDialog()中就不能显示图片了,但编译可以通过
{
CDialog::OnInitDialog();
bmp=::LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP1));
tt=((CStatic *)GetDlgItem(IDC_FAN));
tt->ModifyStyle(0xF,SS_BITMAP|SS_CENTERIMAGE);
tt->SetBitmap(bmp);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
///HCURSOR CXxxxDlg::OnQueryDragIcon()
{
return (HCURSOR) m_hIcon;
}void CXxxxDlg::OnButton1()
{
dlg.Create(IDD_DIALOG1,this);
dlg.ShowWindow(1);
}