基于Visual C++异形窗口及数据库便携技术研究及应用.docVIP

基于Visual C++异形窗口及数据库便携技术研究及应用.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于VisualC异形窗口及数据库便携技术研究及应用

基于Visual C++异形窗口及数据库便携技术研究及应用   摘要:提出了一种数据库便携技术,介绍了一种异形窗口技术,并综合利用了Visual C++多线程等技术实现了一个工程实例。还提出了一种新的思路:利用桌面程序和便携式数据库来开发CAI软件,不仅能让学生脱机练习,解决学生宿舍无法访问高校局域网服务器的问题,而且稍加变化即可用于上机考试,灵活机动。通过编程设置数据源的方式配合其他技术手段来达到数据库便携的目的,并对两种数据库便携技术进行了性能上的分析研究。   关键词:异形窗口;数据库便携;数据库性能   中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)12-2764-04   如今基于Web浏览器的B/S程序得以流行,究其原因,不仅是因为B/S程序本身具有使用便捷、易于维护等优点,还与社会及开发人员对B/S应用的盲目跟风有一定关系。针对基于Visual C++技术开发的C/S程序,存在着应用程序的界面美化不够、没有合适的数据库便携技术等问题。   本文介绍了一种异形窗口技术和一种数据库便携解决方案,并利用这种方案开发出一个工程实例。本实例的目的在于解决日常教学中遇到的如下问题:状况较好的校园有线网络往往需要一笔费用,而WLAN也价值不菲且经常不畅通,且高校中普遍存在学生宿舍区无法访问教学区服务器的情况。若采用B/S结构来开发CAI软件,反而要受校园网络状况的限制。相比之下,一款便携的桌面练习系统对于学生学习相关课程具有非常大的优势,很受欢迎。   1 一种异形窗口技术   随着Microsoft凭借Windows在操作系统上取得的巨大成绩,Windows用户界面也日益成为业界标准。统一的界面给广大用户对应用软件的学习与使用带来了很大方便。但每天都面对同一副面孔,日久天长难免会产生一些厌倦,开发一些“离经叛道”,一改Windows应用程序千篇一律的“标准”界面,一定会给你带来一种清新的感觉。 标准Windows应用程序窗口一般为带有标题栏的浅灰色矩形外观,因而“异形”对话框/窗口也主要是颜色与外形上动手脚。   本文利用位图创建异形对话框原理是根据象素的颜色来进行“扣像”处理,对所有非指定颜色象素区域进行区??组合,并将异形窗口功能封装成类,便于使用。这一技术,实际上就是实现对话框/窗口的位图背景,并且对指定的颜色区域进行透明处理。具体是利用SetTransparentColor来设置某种颜色是透明色。部分关键代码如下:   BOOL CDialogSS::SetTransparentColor (COLORREF col, BOOL bTrans)   {   if (g_pSetLayeredWindowAttributes == NULL) return FALSE;   if (bTrans)   {   // 把此对话框设置为layered样式   SetWindowLong(m_hWnd, GWL_EXSTYLE, GetWindowLong(m_hWnd, GWL_EXSTYLE) | WS_EX_LAYERED);   // 调用pSetLayeredWindowAttributes函数,参数alpha为0   g_pSetLayeredWindowAttributes(m_hWnd, col, 0, LWA_COLORKEY);   }   else   {   SetWindowLong(m_hWnd, GWL_EXSTYLE, GetWindowLong(m_hWnd, GWL_EXSTYLE) ~WS_EX_LAYERED);   // 重绘窗口   ::RedrawWindow(m_hWnd, NULL, NULL, RDW_ERASE | RDW_INVALIDATE | RDW_FRAME | RDW_ALLCHILDREN);   }   return TRUE;   }   其中是通过如下关键代码来获取到函数指针:   HMODULE hUser32 = GetModuleHandle(_T(USER32.DLL));   g_pSetLayeredWindowAttributes = (lpfnSetLayeredWindowAttributes)   GetProcAddress(hUser32, SetLayeredWindowAttributes);   在创建异形窗口时,先创建一副bitmap,将透明的部分设置成某种单色,比如green,然后在代码中作如下初始化:   SetBitmap(IDB_BITMAP_R); // 设置背景bitmap   SetTransparent

文档评论(0)

erterye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档