说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

如何用位图把整个对话框填满?

编辑:说三道四文库 发布时间:2017-09-24 08:28
HTML文档下载 WORD文档下载 PDF文档下载
要象超级解霸一样,同时还能填满如编辑框,按钮等, 越早解决,越详细分越高,可以突破系统限制,最多800分。
再次感谢!!!
获取对话框尺寸GetClientRect(&rect)
用rect画位图StretchBlt()
能不能详细点?如果只是画图,则不能给分,早已可用selectobject()和bitblt()画图,请保证能画上编辑框,静态框等控件上!!
将编辑框、静态框等置成透明状态不就可以了吗?
9494
nod
我做了一个程序,象你所说的那样位图充满了整个对话框,还能显示进度条,我的做法很简单,就是画一个图,导入,放到对话框,然后将对话框标题栏去掉,拉动对话框里边的蓝线与外面平齐,再使对话框和位图一样大小,在程序里边调用SetWindowPos设置对话框大小和位图大小一致,保证进度条位置正确。(不调用SetWindowPos函数,在使用大字体时对话框和位图大小会不一致,进度条也会跑到不知什么地方去。)
雪鹰:试过了,将静态框置成透明,但静态框背景不改变,仍然是灰色,希望能成超级解霸一样,静态框背景也变成位图的背景
我试过了,我的这个程序里边进度条的背景就是位图,我在资源编辑器里边也没有任何特殊设置:试看我的代码:
BOOL CALLBACK SplashProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
HWND ProgHwnd;
int  cx,cy;
switch (uMsg)
{
case WM_INITDIALOG:
cx = GetSystemMetrics(SM_CXSCREEN);
cy = GetSystemMetrics(SM_CYSCREEN);
cx = (cx-300)/2;
cy = (cy-230)/2;
hProgress = GetDlgItem(hDlg,IDC_PROGRESS1);
SendMessage(hProgress,PBM_SETRANGE,0L,MAKELONG(0,470));
SendMessage(hProgress,PBM_SETSTEP,1L,0L);
         SendDlgItemMessage(hDlg,IDC_LOGO,STM_SETIMAGE,IMAGE_BITMAP,
            (LPARAM)LoadImage(GetModuleHandle(NULL),MAKEINTRESOURCE(IDB_BITMAP3),IMAGE_BITMAP,
                              0,0,LR_LOADTRANSPARENT | LR_LOADMAP3DCOLORS));
SetWindowPos(hDlg,HWND_TOP,cx,cy,300,230,SWP_SHOWWINDOW);
ProgHwnd = GetDlgItem(hDlg,IDC_PROGRESS1);
SetWindowPos(ProgHwnd,HWND_TOP,71,168,161,20,SWP_SHOWWINDOW);
break;

case WM_DESTROY:
break;


case WM_COMMAND:
switch (GET_WM_COMMAND_ID(wParam, lParam))
{
case IDCANCEL:
break;

case IDABORT:
ShowWindow(hDlg, SW_HIDE);
break;

}
break;

default:
return(FALSE);
}

return(TRUE);
}
需要自己重新写按钮等等控件。
我想如果可以用一种刷子直接以位图刷一下对话框,同时框内所有控件都刷在里面,不就可以了吗?
softwarehe:你的方法我晚上试,明天再与你联系
BOOL CDlgBmp::OnInitDialog() 
{
m_nType = iType;

CRect rectClient;
CBitmap* pBmpOld;

CClientDC dc(GetDesktopWindow());
VERIFY(m_dcMem.CreateCompatibleDC(&dc));
VERIFY(m_brush=(HBRUSH)GetStockObject(HOLLOW_BRUSH));
VERIFY(m_bmpBackground.LoadBitmap(bmpId));
m_bmpBackground.GetObject(sizeof(BITMAP),&m_bmInfo);
VERIFY(pBmpOld=m_dcMem.SelectObject(&m_bmpBackground));
VERIFY(m_hBmpOld=(HBITMAP)pBmpOld->GetSafeHandle());
m_HollowBrush.CreateStockObject(HOLLOW_BRUSH);
m_bBmpLoad = true;
}

BOOL CDlgBmp::OnEraseBkgnd(CDC* pDC) 
{
if (!m_bBmpLoad)
return CDialog::OnEraseBkgnd(pDC);

CRect rect;
int x = 0, y = 0;
GetClientRect(&rect);
pDC->StretchBlt(rect.left,rect.top,rect.Width(),rect.Height(),
&m_dcMem,0,0,m_bmInfo.bmWidth-1,m_bmInfo.bmHeight-1,SRCCOPY);
    return TRUE;
}
笨驴:如果有人认为你是笨驴,那么他才是真正的笨驴。能不能解释一下m_dcMem,m_bmpBackground,m_HollowBrush,m_hBmpOld数据类型和意义??分数可以再加
其實你的問題的關鍵在于對話框上所有的控件的背景都要是透明的,我以前好象看到過用vc做透明控件的文章,我幫你找找看
softwarehe:
你的方法我试了,应该可以让进度条背景改变,但我要的是对话框和框内的所有控件变化,这种方法只能对所有控件一一处理,不胜其烦,也不能保证背景是完整的一张图;
另外题外话:如何在对话框里获得对话框本身的句柄??

笨驴:使用了你的代码,不行。 考虑以下因素,对话框没有OnEraseBkgnd事件;代码还是不能把位图刷刷到整个对话框上(包括其他控件);如果你是可以的,请给我做一个简单的PROJECT发给我,可编译执行的。
谁能解决???梁照新在吗?
我用MFC时,用CPaintDC类的dc,用BitBlt刷一下就行了,但用CDC,CClientDC就会把控件给盖掉,不知CPaintDC对应的dc,在API中怎么得到,应该很容易吧。
用CPaintDC刷一下就行了?什么意思,是控件背景变成位图吗?用CDC,CCliendDC就会把控件盖掉?控件被位图盖掉不能显示了??请详细说明
CPaintDC 在MFC中很容易得到,CPaintDC dc(this); 
我会的就是CPaintDC ,但是静态框等控件背景仍然是灰色
高手快请出招!!!!!!!!!!!!!!!!!!!!
//回答
CBitmap m_bmpBackground;
CBrush m_HollowBrush;
CDC m_dcMem;
HBITMAP m_hBmpOld;
HBRUSH m_brush;
BITMAP m_bmInfo;
BOOL m_bBmpLoad;
看变量名就知道什么意思了
我给你一个例子吧,匆匆忙忙,不太详细
谢谢,PLEASE MAIL TO wwtree@sina.com
发了
笨驴: 在修正了一些BUG后,可以运行了,但位图只能选择很小的,不然loadbitmap时会失败;能告诉我答案吗?你已经获得了200分,如果能告诉我上面的答案,可以在加个贴子送分
另外,我的理解是它的原理是在对话框启动时画图,(用stretchblt()或bitblt()),再在OnPaint()中发消息让所有控件变透明,这种理解对吗?
欢迎提供别的思路
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
问题已解决,我以前的理解有误,正确应该是用stretchblt()或bitblt())绘图,再在Onctlcolor()中发消息让所有控件变透明
巧用“关于”对话框-VB资料 请问在VB中如何关闭别的应用程序窗口 确定屏幕分辨率-VB资料 让VB5支持动画光标 让窗口拒绝接受键盘和鼠标事件 -VB资料 让窗体处于最前面 -VB资料 让窗体居中 -VB资料 让所有的控件都动起来 -VB资料 让最大化和最小化按钮消失-VB资料 任意多边形的窗口-VB资料 如 何将「拒 绝 被 盖 住 的 窗 口 」还 原-VB资料 VB如何创建椭圆形的窗体? VB如何创建无Icon的窗体? VB如何防止Edit框中的Password不被非法获取 VB如何将鼠标显示成动画鼠标? VB如何利用程序拉下 ComboBox? VB如何让窗体右上角的X失效? VB如何使Form的背景图随Form大小改变 VB如何使Text文本框的属性只读? VB如何使窗体右上角的"X"无效? VB如何使窗体最小化并消失 VB如何在VB和Delphi中快速实现立体化窗口显示 VB如何在VB中实现绘图区的大十字光标 VB如何在VB中制作不回显的文本框 VB如何制作浮动式窗口 闪烁的Label-VB资料 设定StatusBar的文字成不同的颜色-VB资料 设计一个可中断循环的按钮-VB资料 设置“执行无用户界面”-VB资料 生成一个透明窗体 -VB资料 实现窗体内部的左右移动 -VB资料 初学JAVA希望大家介绍点好书,有分的哦~~~~~~~~~~ 关于DB2的培训资料或者ppt qqf (我就是我) 可以进来一下吗? 准备作一个短信项目,请做过类似项目的高手不吝指教! 关于刷新框架内页面的问题! 请教,真的很急,来看看,,, 帮忙出主意呀, 新认识一个MM, 特骄气, 爱好也少,怎么哄呀,或者兄弟们介绍一下经验. 求delphi 5开发人员指南 电子版 如何用四叉树进行图像压缩源代码 小问题 谁对nil理解的多呀,哈哈,来看看哦,超级难题 开机自检的时候屏幕花屏,无法进入操作系统。图形模式下花屏,文字模式下正常,怎么解决? 高分求助,JS菜单问题,在线等 我需要msdn最新版 连接 vb做报表的问题 好书推荐 我的站点怎么必须登陆? 这样能释放链表内存吗 请问如何手动调整datagrid的列宽? design pattern in java 书籍 关于调用外部文件并且打开一个应用程序的问题?? 请问create table 返回值为2 是什么意思? 如何象进入sina时一样弹出那种打广告的小框? 一个frame获取参数的问题 如何用Response.BinaryWrite输出文件内容 我想问一个隐藏表格的程序,好象很简单的 高手请进, 小弟有难!!!…………………… 哪里有详细介绍sql2000中pubs和northwind数据库的资料! 请教一个简单问题:请问哪里有lzw算法的详细介绍?压图片可以用这个算法么?有没有lzrw算法! 为什么一些网站把一张大图片要切开很多块? 有谁能确切解释edit.tag的属性tag的含义吗? 如何让打开的对话框自动充满客户区? 如何控制控件的前后位置关系? (100分)我copy了一段滚动的代码,怎么就是调试不通啊!帮忙啊! 用query读娶access里的“温度”字段数据怎么不行? KV2003,的问题 大家给点建议关于户籍方面的数据库系统的投计! SQL求正解 请教一个简单问题:请问哪里有lzw算法的详细介绍?压图片可以用这个算法么?有没有lzrw算法! 求一考试座位编排算法 网络中传输的粘滞问题?(在线等) word到底是编译器还是编辑器 vb程序的帮助有什么软件可以写? PlaceHolder问题?? 绝对是问题,我是HOOKAPI来拦截REG注册表的函数,但是....... 各位高手,谁对nil有研究 Windows - 延缓写入失败是种什么错误?我的机器总是出现这样的问题,重装了还是一样 怎样改变菜单的颜色 各位,提点意见哈 command 按纽 上的字怎么设置成红色? 喜欢C++的菜鸟请进。。。。。。。 怎么区别sour 和acid? 道德经讲了什么道理 Yesterday a street-beggar bought a lottery ticket purposelessly,____ him a millionaire overnight.A.making B.makes C.to make D.made选c.请清楚的解释一下 为什么省略了一个only 如果以后遇到类似的题怎么考虑 什么是植物甾醇 写专心的成语往往往往往往往往往往 谁知道哪里有卖<论语心得>书的?作者:于丹我要书,光盘我已经有了 将孙权劝学分层 并用两个字总结层意 闰土死的?具体一点~ 于丹 论语心得 这本书多钱 《孙权劝学》讲了几件事?(概括出来) 班干部不该管理班级大大小小的事 辩论会陈词注意:大大小小 至少300字 谁知道200字以上的我的小制作这篇作文 右图表示某动物的一个正在分裂的细胞,下列分析正确的是A. 若图中①②③上的基因分别为A,B,c,则④⑤⑥上相应位置上的基因应分别为a,b,c.B. 若③为X染色体,则⑥可能是Y染色体,其他为常染 题记如果是诗句或名言,要不要注明作者? 小作文,200字左右 右图表示动物细胞 如果7是抗体,则该细胞是 补充词语 叠词填空 目光 大雪 放假期间,小丽跟妈妈学烧鱼。她应该完成如下几件事:洗鱼、切姜片、洗锅、将锅烧热、将油烧热、煎鱼,分别用2分钟、1分钟、2分钟、1分钟、1分钟、10分钟。问:小丽烧好鱼至少要用几 电和磁.帮忙分析下./如图2所示,虚线区域内的“×”为垂直纸面的磁感线,当金属框沿光滑绝缘斜面的顶端,由静止开始滑到底端时,具有的动能为E1;若将金属框换成质量相同的塑料框,其他条件 短文填词:my mother is a teather o( ) English 怎么证明无神论是对的?我和一朋友讨论,“怎么证明无神论是对的呢?”他说:“你怎么证明有神论是对的呢?”大家猜我说什么?我说“你滚!我在和你讨论一个问题,不是诡辩一个问题,不是要 电与磁 无神论的歌词 什么可以证明无神论?如果有更高级的生物呢? 十一月四日风雨大作诗中年老体弱,僵卧孤村,出境本来寂寞凄凉,可诗人并不自哀,这是因为他日夜思念的是 正数的正号如果省略的话要读吗? 有哪些像论语心得的这种书要反映哲理,可以以许多结构为题材我是举例子说像论语心得这种值得看的书,怎么都跟我提论语呀! 孙权劝学这篇课文可分为四个层次,请分别用两个字概括出各层的大意.快,看清楚题哦, 正数前省略的+念正号还是加号?我现在小学,先问下初中的东西. 作业到现在都没写完,好困啊,怎么办?好怀念小学生活. 阅读文章 腊八粥最后一段“我没有说什么,只泫然地低下头去,和他们一同剥起花生来”读文章 腊八粥最后一段“我没有说什么,只泫然地低下头去,和他们一同剥起花生来” 你怎么理解此时“ 推敲一词的来源是否来自于贾岛 以作文的形式写一篇200字的我的六年级规划 腊八粥是用各种米,各种豆,与各种干果熬成的.腊八粥不是粥.腊八粥是小型的农业展览会.把这些句子用关联词连接. 位移是正的正号可以省略不写吗 写一篇《六年级打算》作文,450字 形容听课听的入迷的成语 “推敲”一词的来历 ——的目光.——的阅历.——的热情 填上合适词语 形容不认真听课发呆的成语? 有人知道“推敲”一词的来历吗?贾岛这个人爱琢磨,有的人写诗是“喷”出来的,而贾岛不是,他的诗是“磨”出来的.有一次,贾岛在琢磨“僧推月下门”还是“僧敲月下门”的时候,冲撞了韩愈 填上恰当的词语.什么的神情?什么的蔬菜?什么的目光? 看道德经的作用 天净沙秋思 昏鸦的昏字,除了与夕阳西下呼应,还能读出什么意味 用闷字组词两种拼音各组一个词语一声和四声 为什么中国人内战内行,外战外行? 用简单的话说说 “推敲”一词的来历快, 儒勒 凡尔纳的名言要快 快一点 名词:外行,内行;形容词:外行的,内行的,英文分别怎么说? 动物是人类的朋友,“保护动物,珍爱生命”是我们义不容辞的责任.为此,请你给狩猎者写一封信,300字左右 儒勒·凡尔纳 介绍 谁知道关于大草原 长江的古人诗句 内斗内行, 为什么要相信无神论?希望从正面回答,科学严谨的态度回答.说怪话的就省省吧.是谁告诉你们科学和有神论是相冲突的呢?科学和有神论冲突么?相信科学,就要反对有神论么?可,科学发达的西方 acid food酸水果和sour的用法有什么区别 道德经讲了什么 中国官方是无神论主义者吗但是很多人都是不可知论者, 对吗. sour和acid之间的区别是什么? 少量饮酒对身体有好处,请问下列哪种酒对心血管疾病有预防作用 中国的无神论的人数、到底有多少人? 默克尔手机或遭监听 愤怒质问奥巴马连美国13岁少年持玩具AK-47 遭两北京两居室价格够买塞浦路斯别墅及永居美国13岁少年持玩具AK-47 遭两四部门发文保护未成年人:公务员性侵幼专家称“嫖宿幼女罪”短时期无法废除乌克兰传奇拳王参选总统 支持率高于现美警察7枪射杀持假枪少年 枪案频繁导沙特威胁将疏远美国 分析称美地缘政治肯尼迪家族亲戚杀人案将重审 72年还美油轮在尼日利亚遇袭 两人被海盗劫为美国官员在社交网站说总统\"坏话\"星巴克CEO辩解在中国高定价 称报道加拿大魁北克发现丰富稀土矿资源奥巴马医改核心举措因漏洞频出接受国会国际货币基金组织敦促美国应对中长期财两名美籍船员在尼日利亚遭绑架南桑威奇群岛东部25日发生6.5级地美油轮在尼日利亚遇袭 两人被海盗劫为美元对主要货币汇率24日继续在低位小纽约股市股指24日上涨新疆霍城ML2.1地震巴基斯坦西北部城市发生自杀式袭击致8NBA简讯乌选举或提早非法运营克隆出租车获刑韦奕和棋升至榜首晴冷延续 出行保暖欧盟国家年涉腐1200亿欧元■今日赛事预告雪袭纽约海霞播报高校毕业生今年727万马年首秀 恒大输球过年不再为送礼犯愁泰选举或取消六旬老人坠河 城管施救高速路明天21时恢复发卡幸福航空飞机“马失前蹄”谌龙李雪芮领军出战全英公开赛 中国女天气预报专赢强队 奇才真“奇”
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘