我在窗口某处区域新建了一个GROUPBOX控件,想在这个GROUPBOX中显示一幅位图,但是运行了之后发现位图不显示,我想是不是因为后建的控件挡住了位图的显示,发现可以用SetWindowPos函数来解决。可是我想问下因为我是直接代码创建的控件,所以说CTRL+D就不会用,就直接用SetWindowPos函数,我想问下怎么使用啊?
pPStatic=new CStatic();
pPStatic->Create("数据图片",WS_CHILD | SS_BITMAP | SS_CENTERIMAGE,CRect(400,30,540,180),this, 1007);
pPStatic->ShowWindow(SW_SHOWNORMAL);
pPButton3=new CButton();
pPButton3->Create("历史数据",WS_CHILD | BS_GROUPBOX,CRect(350,30,1000,210),this, 1003);
pPButton3->ShowWindow(SW_SHOWNORMAL);
我自己代码如下
pPStatic->SetWindowPos(&pPButton3, 0, 0, 0, 0, SWP_NOSISE | SWP_NOMOVE);
但是编译出错了,
请教各位怎么用?

解决方案 »

  1.   

    BOOL SetWindowPos(
       const CWnd* pWndInsertAfter,
       int x,
       int y,
       int cx,
       int cy,
       UINT nFlags 
    );
    第一个参数就是CWnd*指针
      

  2.   


    我意思是想要让控件STATIC在控件GROUPBOX上即可。就是B在A的上面显示。请问怎么写代码?
      

  3.   

    pPStatic->SetWindowPos(pPButton3, 0, 0, 0, 0, SWP_NOSIZE|SWP_NOMOVE);
      

  4.   


    代码编译正确了,但是发现图片没有显示出来,看来不是控件窗口覆盖的问题,那是怎么回事?
    代码如下
    void CPUMPView::OnBtnP7()
    {
    //图片控件插入图片
    pPStatic->SetBitmap(::LoadBitmap(NULL,MAKEINTRESOURCE(IDB_PUMP_FOUR)) );
    //设置窗口的位置A为窗口句柄
    pPStatic->SetWindowPos(pPButton3, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);
    }
    这个是按钮的响应函数代码
    //添加图片控件
    pPStatic=new CStatic();
    pPStatic->Create("数据图片",WS_CHILD | SS_BITMAP | SS_CENTERIMAGE,CRect(400,30,540,180),this, 1007);
    pPStatic->ShowWindow(SW_SHOWNORMAL);
    这个是代码添加了图片控件但是点击按钮之后图片没有显示出来。
      

  5.   

    pPStatic->SetBitmap(::LoadBitmap(NULL,MAKEINTRESOURCE(IDB_PUMP_FOUR)) );
    -->
    CBitmap bmp; // 定义为成员变量bmp.LoadImage(IDB_PUMP_FOUR);// 初始化函数中调用,比如OnInitDialog中pPStatic->SetBitmap(bmp);
      

  6.   


    好像STATIC我代码添加貌似没有建立类,这个怎么加OnInitDialog函数?我的想法是点击按钮BtnP7就在STATIC控件加载位图。如何实现呢?