1,如何解决窗体移动后或有其他窗体覆盖后,绘出的图形消失的问题啊?2   想在窗体中显示bmp图,在指导下,写出如下代码
   CDC memdc;
    CClientDC dc(this);
memdc.CreateCompatibleDC(&dc);
//memdc.CreateCompatibleDC(&dc);
//HWND wnd=GetDlgItem(hdlg,IDC_P);
CBitmap bitmap1;
    BITMAP bm;
bitmap1.LoadBitmap(IDB_BITMAP1);
bitmap1.GetObject(sizeof(bm),&bm);
memdc.SelectObject(&bitmap1);
dc.BitBlt(100,50,bm.bmWidth,bm.bmHeight,&memdc,0,0,SRCCOPY);问题是显示不出图片来,而且如何在我设定的picture控件ID_P处显示图片呢?先谢谢各位的解答,初学者最好有代码示范。

解决方案 »

  1.   

    如果要显示在窗体中,代码写在VIEW中的OnEraseBkgnd()中,去掉return CView::OnEraseBkgnd(CDC* pDC)。
    要在控件中显示,要先得到控件的矩形,然后贴上去。注意屏幕坐标到客户坐标的转换。
      

  2.   

    GetClientRect(
      hWnd: HWND;       {窗口句柄}
      lpRect: TRect {用于返回的矩形指针}
    )
    好像有这个函数吧,记不得清楚了。楼主试试
      

  3.   

    你的控件是在对话框上的话,就在OnInitialDialog()里,CRect rect;
    GetDlgItem(ID_P)->GetWindowRect(&rect);