小弟我刚用MFC不久 想做一个打印程序 先把页面、纸张型号等都设计好 然后在对话框上的一个空间可以根据纸张选定的大小改变 现在纸张的数据已经获取到了 可是发现控件的大小根本没有变化 请问是哪里出了问题

解决方案 »

  1.   

    GetDlgItem(指定控件ID)->MoveWindow(),MoveWindow的第三,第四个参数可以设置成与你获取的纸张大小成比例的数字,第五个参数为TRUE(实际上就是发送WM_PAINT消息)
      

  2.   

    好像不是这个问题
    一下是我的代码
    CClientDC dc(this->GetWindow(IDC_STATIC_PRINT_PREVIEW)); //获取控件的DC
    GetDlgItem(IDC_STATIC_PRINT_PREVIEW)->GetWindowRect(&m_staticRect); //获取控件矩形
    CBrush brush(RGB(70,70,70));
    dc.FillRect(&m_staticRect,&brush); //将控件背景重置我使用按钮执行这些操作的时候就能重置控件的背景
    但是把这些代码放进OnInitDialog中就不行了  主窗口显示后控件的上没有画出矩形 而是画在了窗体的外面
    在屏幕左边偏上的位置