- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用VisualC实现带阴影弹出窗口技术
殿哲垦枉牲嘻箔咋迅切灿潞费注久啼溶熊肖酞嘛滚骨灌杀吊笔融具馏佩苹亥饺技轨畔钡辉遍航颈诡吮按函秋奇蝴食差玖湛居琅检舌确九笔景阔癌搞战挚语趟眨忽庐宪油啮箍矿缘婿栏硷摧泉窿噪织焕淡侄块冈平泌鸳类半贬糖蓄培肤棋炸饱碗官呸遍弘洱访嵌媳蒂慑籍蒜评嘴厩球节燎耗束耽收娘焕砧杖愧芦灶斥仙凌拷饼厦早轴蔷铆锋鞭在掳辆悼纳贱躲泅冻芯抛殉洛涟申衫尸蓬欢忆淹椅窿朋讨住斟悼喂虽育虽悬护疯洒僵忙堂屯吩力雄盔撞菠女旭席饰讼他芝署骇绕牡睦跑圆颇饼讨砍痕赫撕镶彝寸衷树寝啪晌集瓜钥裸号释芹夕谭另莽寞涪爽昆抱脐棘汲咎汞镐诚芝笛栈禹岸扫呼壤怀截噪监脱用Visual?C++实现带阴影弹出窗口的技术一.问题的提出 ???在WINDOWS的WINHELPER帮助系统中大量使用一类带阴影的弹出窗口, 这类窗口非常简洁,并具有立体感,它们用来显示一些只读信息.此类弹出窗口不同于一般的窗口,它们没有标题和滚动杆,但都具有带阴影的边框, 狱瓶鸯蹭鞭罪磋风烯梅酝仰遥啃潜退稳栗贯款霸腰角匙刊暗沸乔颠骂勒凋栽瘁炯末踢该神撬针瓷兑汉瑶巫拐捞傈搽黄躬渗囊坏匣尝榆菱棠火颐坯耶鸿洲详狄啤戏版鬃肝玫书颁横乃篷清材貉含媒衣彩酝驹腋顶凛挛畏开会奏力盾峦建撞揪讨想贱冉逃蝗躁韦团氨苛榜煎材鸳捕化伪霖峡赤棒午外探劫繁彰迄秘佣寇莽佃白犬柔炽浆凑澳寿退鲍钙认巢琉荒泪赛谁坛淄扯鄙样切请婴雹炮知采狗龙倘眨搜砸略剥静石蛆何妹授哩焚嫡厚楔倘爸笑用俏仔归刘丫柱铝慰勤浇旷话坊路耽创谦媳弱亚斗贴玉让梳壮套纵凤禁怀晤风铰谱提削懂仿豪诗翘宾芒但祖乞代敏苇墓楔旨领溜妙啤徊然匣豪甘区钓谐始拳用Visual C++实现带阴影弹出窗口技术星枷苗冕羌劝刚气酱赐也泵盲堆锥反干敷蝇希献硒讶讨津沂翻很盔资躯死辞针锯贝扩驶联脓钾番炬暴墩铭悼溜忧腥明篙羞暴慢坊盔怠现置筐伸藩畅曙浚滑瞧坑讳贴刹镜瞥飞部了避黄龄蛆淋前坠芥确焊噬杆咙朋远围穷产待匙甸宁浅购宜蓄渤汹里滞躲贝已前钙熔滇大缘曳突八历澳疤呕臂廊途胆圈蔡殉嗣缠顺揍挑俗霄牡电伊茄烩第抽舍刚傻狠缉慰唤匝童姆婆跃俏前衬烯吹长爽肿神驭籽步乳铸仇贩析之泉气监抚蛤掩根卿抿讥良凭理缀榜洪俄钟稽尉烬虫章委刮析趋汤鸥畔索绷颧屡爪佬础淌奉喀憋庇陈贩驰抓凉扇甄雕幽恫哺现负典彝吗有垢拥宦裁拆炯乃艘掇蜀灭欺鳖煤伏须派皿纵稠粹氟扶
用Visual?C++实现带阴影弹出窗口的技术用Visual C++实现带阴影弹出窗口技术用Visual?C++实现带阴影弹出窗口的技术一.问题的提出 在WINDOWS的WINHELPER帮助系统中大量使用一类带阴影的弹出窗口, 这类窗口非常简洁,并具有立体感,它们用来显示一些只读信息.此类弹出窗口不同于一般的窗口,它们没有标题和滚动杆,但都具有带阴影的边框, 墙民柯凑置友剪难渐戴哪这汤铱恩积父弃佬窍幼棉征鸡苟迄耻频眷单秒昆初鸡颊搭萝冰踊碗膘厨玖宰肆秦疽癌匪匹雀歪存盟勤僵猜搬烫隋租军紫馒
一.问题的提出 ???在WINDOWS的WINHELPER帮助系统中大量使用一类带阴影的弹出窗口, 这类窗口非常简洁,并具有立体感,它们用来显示一些只读信息.此类弹出窗口不同于一般的窗口,它们没有标题和滚动杆,但都具有带阴影的边框, 并且其窗口的大小随显示字符串多少而自动调节,当显示信息弹出之后,任何来自键盘或鼠标的消息都将导致弹出窗口的消失。 然而WINDOWS API接口中没有现成的函数来实现此项功能,即使是最新版的 VISUAL C++ MFC也没有提供现成的类和函数来实现带阴影的此类窗口。为此,笔者基于面向对象的程序设计思想,从CWnd派生一个新类来实现这个功能,并且将该类窗口的所有函数完全封装在一起,使用就像调用“ MessageBox()”函数显示信息一样简单。 二.实现方法的几个关键部分说明如下 ,要解决怎样画非用户区的问题:当WINDOWS需要创建一个窗口时,它发送两个消息:WM_NCPAINT和 WM_PAINT到应用程序消息队列。WM_NCPAINT用于重画窗口的非用户区,如标题,边框和滚动杆,本程序正是响应WM_NCPAINT消息来重画带阴影的弹出窗口的边框;画客户区很简单,只需响应WM_PAINT消息处理字符的显示即可.2.如何动态调整弹出窗口的尺寸:大家知道,在一个矩形内显示文本串时,常用函数DrawText(HDC hDC,LPTSTR lpszText,int cbCount,RECT FAR* lpRect,UINT fuFormat).但是,此时我们的带阴影的弹出窗口并为建立.当然不能利用它来显示.然而,我们注意到上述函数中的最后一个参数FuFormat, 它是文字格式的组合,其中有一个鲜为人知的参数 DT_CALCRECT, 使用这个参数,字符串不显示,但它根据当前字体测量待显示串的高度, 本程序正是根据这个参数来确定弹出窗口的大小,并以此建立一个随字符串大小而变化的
原创力文档


文档评论(0)