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

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

编辑:说三道四文库 发布时间:2017-01-25 01:30
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()中发消息让所有控件变透明
借助三大技巧 助你提升API状态页面 集成GemFire,Hadoop生态圈的又一把火 次世代光照体验:Unity 5面世,功能系统全升级 深入浅出,以咖啡店为例演示Web应用程序扩展 百度Clouda:可依赖的实时JavaScript开发框架 Oracle发布Java 8正式版及JDK 8 编程语言中一些令人抓狂的规则 廉颇未老,微软股价创14年新高 中国云计算大会PPT集萃(三):核心架构及应用实践 特性是增多了,但是Google的云服务仍然不温不火 全国云计算大数据创新项目评选活动正式启动 【独家专访】Perl发明者首次来华:将在OSTC大会分享其编程人生 腾讯核心创始人张志东半年后卸任首席技术官 改任终身荣誉顾问和学院讲师 咱们约会吧,Web设计师教你不一样的语言 开发者不容错过的10款免费JavaScript游戏引擎 付费授权、开放源码,全新虚幻引擎4正式发布! Larry Page未来计划:用科技创造美好生活 AWS 8周年,收入超四主要对手之和 分析:北京网络广播电视台私有云实践 腾讯云总经理陈磊分享微信云三步曲 十大技术,十家机构,从行业制高点一览大数据 【OSTC讲师专访】严旭:文艺豆瓣也很开源 大姨吗携手睿仁医疗 推智能体温贴Raiing 三个火枪手将重袭传统零售业 网易王健宗:革命Hadoop,Spark带来百亿市场价值! MediaTek高级总监Chien-Ping Lu:HSA在下一盘大棋 Docker一周岁生日快乐 虚拟现实,正在改变什么? 一周消息树:腾讯CTO张志东离职 未来希望帮技术人成长 又见真人CS:13th Lab推出移动FPS对战平台 前瞻、教育、创业:Maker Faire演讲嘉宾揭晓 谁来讲讲turbine?? 【 关于数据库的问题,请帮忙。 】 单击CListCtrl中的CheckBox触发什么事件?该用哪个函数处理? 关于VXD的问题1 急!!!一个怪问题! 怎样获取指定框架(frame)的大小? 各位大虾,小弟有一个关于windows2000的问题 招聘信息 Happy Time!关于邮件安全谁有好的建议?找一个不运行脚本和控件的客户端还是自己写一个? 做一个合格的程序员需具备那些知识? EXCEL.APPLICATION的关闭事件 再次retrieve时报错“ARITHMETIC OVERFLOW OCCURRED” 急:如何在ASP中使用Microsoft Index Server? 简单但是比较不常用的问题,来拿分吧! 谁能告诉我有关一些开发e-mail软件的资料 我想要源代码 用ADO DATA控件和ACCESS数据库连接好后,怎样断开。 软体蛀虫再战江湖,续原来的帖子“愿意给中国共享软件作者提供一些帮助,共同推动中国软件业!”。请大家赏光 请问:各位在数据库的时候,对于性别,使用0/1 还是男/女 程序运行后,改变屏幕的分辨率后,比如改小,则程序窗体有部分到屏幕外边了,如何在改变分辨率的时候,让程序的窗体大小也跟着改变? 各位高手帮帮忙!!!!!!! ------急--------急---------急--------- 在c/s结构中,到底用不用数据敏感控件? 用ALT+F4关闭窗口会不会引发form_queryunload和form_unload事件? 请对表格熟悉的资深高手请进! 在linux下怎样使用libpcap截获IP数据包并统计每个IP地址的数据流量以便计费???请给出一点思路。多谢! 怎样在用户控件中引用第三方的控件? 请教:为什么我的activex dll下载后不能使用 求救: access數據庫用戶組中Admin的密碼丟失,怎么辦? 请问各位 那里有 delphi的电子书籍下载??/ Oracle:怎样在Client和Server之间建立联系? JAVA中的2维数组赋值问题。 怎样将整形变量的值转换为字符串的值 为何汉字会变成乱码?? VC动态链接库调用的问题 怎样打开DLL中的Form? 庆祝这个开心的星期六!送分 如何在程序中将一个变量放入指定的节(session)中,而不论这个变量是否是初始化的? 登陆SQL PLUS 问题???请帮忙,谢谢!! 初学DirectX的几个问题 定时执行某段代码~ 有关ADO中智能指针的初始化问题?很菜的! 还是局域网共享文件夹密码问题,我看了袁哥的主页,按照他的方法怎么不行呢, where can we find free webspace to store my programs? 请各位大师救救我吧:如何在CRichTextCtrl或其他的什么控件中打开一个DOC文件,十万火急,答对50分一定奉上,谢谢! 这是什么错误:Exception in thread "main" java.lang.NoClassDefFoundError: TestBed/class 给我的网页提意见,来者有分!!!保证!!!http://kkoffice.yeah.net 在调用一些函数是,老是出错,说不能把我的AnsiString转换成char,我改怎么办呢? 我该如何推广销售“口语听力练习软件” 请问高手:怎样用JavaScrip实现漂浮物??? 为什么用playsound播放声音文件时应用程序就无法对其他时间做出响应,怎样解决该问题? 帮忙解决错误:Exception in thread "main" java.lang.NoClassDefFoundError: TestBed/class 某烧杯装满水的总质量是350G.放入一块合金后,溢出一些水 这时质量为500G 取出合金后杯和水总质量为300G 求合金的密度 固体和液体的压强公式不一样 介电常数是什么? 合金的密度是多少 计算固体压力和压强和计算液体的压力和压强有什么相同点和不同点 窗户玻璃上的窗花纸怎样清除家里窗户玻璃上的窗花纸很久了,现在要清理,怎么清理不了,请问有经验的同志们帮帮我. 求合金密度.一块铜金合金,质量200g,体积20cm3,金密度19.3g/cm3,铜8.98g/cm3,分别求金铜体积别列方程,用浓度三角解. 液体压强和固体压强的共公式不是一样的么,有什么区别呀压强公式均可由基础公式:P=F/S推导P液=F/S=G/S=mg/S=ρ液Vg/S=ρ液Shg/S=ρ液hg=ρ液gh 古代,人们用纸贴在窗户上防风,现在人们用玻璃做窗户,比较玻璃和纸,玻璃有哪些 1 一个空杯子装满水水的总质量为500克 用它装满酒精能装多少克(酒精密度0.8×十的三次方千克每立方米)2 一个空杯子装满水总质量为1千克用它装另一种液体可以装1.2千克求这种液体的密 规则液体压强计算公式用固体压强公式为何答案不同看过一些解析说固体压强公式不适用于液体压强计算的原因是液体有可能装在不规则的容器中.但是当液体是装在一个柱状容器内时,应该 由于缺少玻璃,他们使用纸来遮盖窗子[  ],they used paper to cover the windows.(lack) 物理题初二密度与质量急用!1计算题某城市要雕塑一个历史人物大理石的全身像,所选择的模型质量为75kg,要塑的石像是模型高度的4倍,大理石的密度为2.7乘以10的三次方kg每立方米,试估算该大 为什么压强公式p=ρgh只适用于液体与气体 玻璃窗和纸窗比较有哪些优点 初二(关于质量、密度和体积)某个空心铜球,它的体积为60cm³,质量为445g.若将其中空心部分铸满铅,那么此球的质量是多大? 水对容器底部的压强公式是容器底部受到的压强公式,不是内部. 节约用纸有哪些好处? 有关质量与密度的国家标准规定以A0、A1、A2、B1、B2等标记来表示纸张幅面规格,以“克重”来表示纸张每平方米的质量.刘刚家新买回一包打印纸,包上标注着“A4 70 g 500 sheet 210×297mm”,意思 装水的容器在正放和倒放时对水平桌面的压力和压强 什么是搞玻璃大神们帮帮忙 1.容积为200毫升的杯中装有80克水,再在杯中放入每颗质量为15克的小石子24粒,水面正好升至杯口,那么小石子的密度多大?2.有一铁球质量是234克,体积是80平方厘米,问铁球是空心还是实心?如是空 算压强时,P=pgh,P=F/S的区别 .算水对容器压强 ,容器对桌面压强分别用哪个公式,还有容器不是柱状的时候,公式怎么用? 玻璃有什么含义 1.一个瓶子装满水,总质量700G,若向瓶中投入445G的某种金属碎片,溢出一些水,测得金属碎片,水,瓶子总质量是1095G,求金属碎片地密度.2.没有量筒,只有一个空瓶,一台天平和水,你能不能设法求食用 在盛水的容器中放一固体沉底,则容器对桌面的压强该怎样算?我老师说要加桌面对容器的支持力,因为作用力和反作用力 是怎么来的,指什么 是指密度吗? 比较容器对桌面、水对容器底部的压力以及水对容器底部的压强. 顺便问一下,液体内部压强能用公式F=P÷S这个公式计算吗? 谢谢 发现自己是男同性恋怎么办. 密度与重度的关系式是什么? 电介质的介电常数有单位吗? 发现自己是男同性恋,怎么办? 某图样密度为1.85g/m3,含水率34%,土粒比重为2.7%,求求土样饱和密度,饱和重度:要有公式,最好能带讲解,) 介电常数越大,电介质的导电性怎样 帮忙看看这是个什么东东,材质好像是石头的,有点像玉的感觉,但绝不是玻璃 千克单位换算?4810千克=多少斤?聚胺脂原液1斤多少双男鞋底? 介电常数反映的是物质的什么性质?是否可对其进行简要的说明? 冬天感觉玻璃比棉花冷,是因为玻璃温度更低吗 小明同学学习了密度知识人口后,对干密度公式 请问铜的电导率和相对介电常数分别是多少 搞玻璃什么意思 有计算椭球型物体的体积和表面积公式吗? 计算密度的公式是什么? 介电常数与电导率分别是代表什么?有什么关系?RT本人不吝啬分数哦 答案正确的我还会追加分数他们之间有什么关系,比如说在数学公式的运算方面 椭圆形的体积公式 请问纸的密度怎么算?计算公式是?暂时没分不好意思了, 一种物质的介电常数、电导率和磁导率有没有什么关系?理想导体的介电常数应该是多少? 合金密度怎么求两种金属的密度分别为p1、p2,取质量相同的这两种金属做成合金,求这种合金的密度.(p1+p2)/2对不对啊 谁帮我解释下这个密度公式1.用天平测出固体质量m,用天平测出溢水杯装满水后的总质量m2,取下溢水杯将待测物体(一个固体)放入装满水的溢水杯中,水溢出后用天平测出溢水杯及杯中物体 等效介电常数与有效介电常数有什么区别?等效介电常数和有效介电常数有什么区别啊,好像书上也没说清楚啊. 合金密度问题有一种合金密度是1.2*10^3km/m^3,它是由下列物质中某两种物质组成的,根据下列组成合金物质的数据,判断组成此合金的两种金属可能是?1.金:19.3*10^3【密度】2.铅:11.3^10^3 【密度 速度是怎样定义的?密度是怎样定义的?定义式分别是什么? 【求助】介电常数和波长有关吗? 合金密度怎么算?甲、乙两金属的密度分别为(就当是那个希腊字母了)P甲、P乙,将等质量的甲、乙两金属制成合金,则合金密度为→答案是2P甲×P乙÷(P甲+P乙),为什么呢? 除了p=m/v以外的密度表达式 【请教】单晶硅的介电常数是多少? 题目是这样的,铅铁合金中铅的体积占五分之一,其余是铁,求合金的密度是多少?(p铅=11.3克/立方厘米,p铁=7.9克/立方厘米) 液体的压强计算为什么和固体不同?1、能具体解释一下“流动性”是怎么一回事吗?2、既然p=Pgh为什么将一个装满水的矿泉水瓶正方与倒放对地面压强不相等?不是与底面积无关吗? 物体介电常数受外界环境影响么
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn