| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 802 人关注过本帖
标题:关于绘制问题
只看楼主 加入收藏
taxueliuyun
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2007-4-17
收藏
 问题点数:0 回复次数:15 
关于绘制问题
我在一个全屏的程序中打开了一个模态对话框,结果关闭对话框后,背景有一块变成白色了(对话框占据的那块),我当然是不想这样了,这应该怎样解决呢?我试过重绘背景的图案,结果总是在我按下模态对话框的确定按钮后,出现错误提示,请教了!!!!谢谢!!!
搜索更多相关主题的帖子: 绘制 
2007-09-22 19:54
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
收藏
得分:0 
你如何处理重绘背景图案?
出现什么错误提示?

=×&D o I p R e E n C g T l X&×=
2007-09-22 19:59
dwarf_ren
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-9-20
收藏
得分:0 

我没有出现过这种情况阿

2007-09-22 20:11
taxueliuyun
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2007-4-17
收藏
得分:0 

首先,我的绘制函数不在OnPaint()里面,我是在一个函数中绘制的屏幕,然后全屏时打开了一个对话框,在按下IDOK时,我又一次调用了刚才绘制屏幕的那个函数,结果就出错了。

2007-09-22 20:13
dwarf_ren
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-9-20
收藏
得分:0 
我在单文档程序中加了一个菜单项
电击后弹出一个对话框
单文档程序中某个地方显示一串字符
弹出的对话框把字符遮住
但是关闭对话框后
字符没有消失
CDlg dlg;
dlg.DoModal();
不知道是不是这样
2007-09-22 20:16
dwarf_ren
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-9-20
收藏
得分:0 
试一试
Invalidate();
2007-09-22 20:17
taxueliuyun
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2007-4-17
收藏
得分:0 
我试过Invalidate()因为我的绘制代码不在OnPaint()里,重绘后就变成白屏幕了,我也试过UpdateWindow()结果没有什么变化,我在背景上绘制的是一张图片
2007-09-22 20:25
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
收藏
得分:0 
绘制函数是些什么代码.发上来看看.

=×&D o I p R e E n C g T l X&×=
2007-09-22 20:30
taxueliuyun
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2007-4-17
收藏
得分:0 
这是重绘的函数:
void CLLKDlg::OnMenu()
{
CPaintDC dc(this); // device context for painting
dc.BitBlt(0,0,1024,768,&m_DC,0,0,SRCCOPY);
HRGN c,r1;
c = CreateRectRgn(8, 0, 55, 31);
r1 = CreateEllipticRgn(48, 8, 15 + 48, 15 + 8);
CombineRgn(c, c, r1, RGN_OR);
m_Btn1.Create("进入游戏", WS_CHILD | WS_VISIBLE, CPoint(16+650, 63 + 32 + 64 + 128+100), c,
this, MY_BTN1, 1, RGB(151, 219, 244), RGB(211, 247, 254), RGB(211, 247, 254),
GetSysColor(COLOR_BTNFACE));
r1 = CreateEllipticRgn(0, 8, 15, 15 + 8);
CombineRgn(c, c, r1, RGN_DIFF);
m_Btn2.Create("游戏说明", WS_CHILD | WS_VISIBLE, CPoint(16 + 48+650,
63 + 32 + 64 + 128+100), c, this,
MY_BTN2, 1, RGB(151, 219, 244), RGB(211, 247, 254), RGB(211, 247, 254),
GetSysColor(COLOR_BTNFACE));
m_Btn3.Create("关于作者", WS_CHILD | WS_VISIBLE, CPoint(16 + 48 + 48+650,
63 + 32 + 64 + 128+100), c, this, MY_BTN3, 1, RGB(151, 219, 244),
RGB(211, 247, 254), RGB(211, 247, 254), GetSysColor(COLOR_BTNFACE));
m_Btn4.Create("退出游戏",WS_CHILD |WS_VISIBLE, CPoint(16 + 48 + 48 + 48+650,
63 + 32 + 64 + 128+100), c, this, MY_BTN4, 1, RGB(151, 219, 244),
RGB(211, 247, 254), RGB(211, 247, 254), GetSysColor(COLOR_BTNFACE));
DeleteObject(c);
DeleteObject(r1);
}

这是调用对话框的函数:
void CLLKDlg::OnAbout()
{
CAboutDlg dlg;
int nResponse=dlg.DoModal();
if(nResponse=IDOK)
{
UpdateWindow();
}
}
2007-09-22 20:43
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
收藏
得分:0 
妈妈咪呀!!

=×&D o I p R e E n C g T l X&×=
2007-09-22 21:43
快速回复:关于绘制问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017250 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved