毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 开发语言 >> 正文

MFC子窗口不显示图片

更新时间:2012-10-2:  来源:毕业论文

我创建了一个基于dlg的MFC五子棋程序,系统自动创建了一个对话框和相应的代码。我创建了一个对话框(操作对话框),用来包扩相应的操作(比如对局开始、结束等)。我又创建了一个棋盘对话框,其style设为child类型,主要想用来显示棋盘,所以在其OnPaint方法中加载了一个棋盘bmp文件。程序编译后,操作对话框可以显示出来,但棋盘位图不能显示出来,不知道为什么?难道是被父窗口给覆盖了?
  
  有哪位朋友帮忙解惑???

棋盘对话框的相关代码如下:
C/C++ code
BOOL CChessBoard::OnInitDialog()
{
    CDialog::OnInitDialog();
   
    /*加载棋盘位图*/
    OnPaint();

    return TRUE;
}

void CChessBoard::OnPaint()
{   
            CPaintDC dc(this);
       
            //加载棋盘位图
            CBitmap bmp;
            bmp.LoadBitmap(IDB_CHESS_BOARD);
            int nBmpWidth,nBmpHeight;
            //获取位图信息
            BITMAP bmpInfo;
            bmp.GetBitmap(&bmpInfo);
            nBmpWidth = bmpInfo.bmWidth;
            nBmpHeight = bmpInfo.bmHeight;

            //将位图绘制在整个窗口区域
            CRect cltRC;
            GetClientRect(cltRC);

            CDC memDC;
            memDC.CreateCompatibleDC(&dc);
            memDC.SelectObject(&bmp);

            dc.StretchBlt(0,0,cltRC.Width(),cltRC.Height(),&memDC,0,0,nBmpWidth,nBmpHeight,SRCCOPY);
            memDC.DeleteDC();
            bmp.DeleteObject();
   
}


主程序对话框的相关代码:
C/C++ code
BOOL CMy_five_chessDlg::OnInitDialog()
{
    CDialog::OnInitDialog();

    CRect LpnlRC;/*左面板rect*/
    CRect MpnlRC;/*中面板rect*/

[1] [2] 下一页

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。