关于窗口中的控件重叠的显示问题

johnlove9527 2010-09-19 06:03:40
我在窗口某处区域新建了一个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);
但是编译出错了,
请教各位怎么用?
...全文
400 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2010-10-19
  • 打赏
  • 举报
回复
您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖
相关规定详见界面界面版关于版主结帖工作的具体办法
johnlove9527 2010-09-20
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 visualeleven 的回复:]
pPStatic->SetBitmap(::LoadBitmap(NULL,MAKEINTRESOURCE(IDB_PUMP_FOUR)) );
-->
CBitmap bmp; // 定义为成员变量

bmp.LoadImage(IDB_PUMP_FOUR);// 初始化函数中调用,比如OnInitDialog中

pPStatic->SetBitmap(bmp);
[/Quote]

好像STATIC我代码添加貌似没有建立类,这个怎么加OnInitDialog函数?

我的想法是点击按钮BtnP7就在STATIC控件加载位图。如何实现呢?
Eleven 2010-09-19
  • 打赏
  • 举报
回复
pPStatic->SetBitmap(::LoadBitmap(NULL,MAKEINTRESOURCE(IDB_PUMP_FOUR)) );
-->
CBitmap bmp; // 定义为成员变量

bmp.LoadImage(IDB_PUMP_FOUR);// 初始化函数中调用,比如OnInitDialog中

pPStatic->SetBitmap(bmp);
johnlove9527 2010-09-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 visualeleven 的回复:]
pPStatic->SetWindowPos(pPButton3, 0, 0, 0, 0, SWP_NOSIZE|SWP_NOMOVE);
[/Quote]

代码编译正确了,但是发现图片没有显示出来,看来不是控件窗口覆盖的问题,那是怎么回事?
代码如下
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);
这个是代码添加了图片控件

但是点击按钮之后图片没有显示出来。
Eleven 2010-09-19
  • 打赏
  • 举报
回复
pPStatic->SetWindowPos(pPButton3, 0, 0, 0, 0, SWP_NOSIZE|SWP_NOMOVE);
johnlove9527 2010-09-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 visualeleven 的回复:]
BOOL SetWindowPos(
const CWnd* pWndInsertAfter,
int x,
int y,
int cx,
int cy,
UINT nFlags
);
第一个参数就是CWnd*指针
[/Quote]

我意思是想要让控件STATIC在控件GROUPBOX上即可。就是B在A的上面显示。请问怎么写代码?
Eleven 2010-09-19
  • 打赏
  • 举报
回复
BOOL SetWindowPos(
const CWnd* pWndInsertAfter,
int x,
int y,
int cx,
int cy,
UINT nFlags
);
第一个参数就是CWnd*指针

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧