界面编程总结(3)

转载 2011年01月24日 11:09:00
CJLibrary界面编程

 

在进行项目开发时,功能是最主要的,逐一设置单纯的控件外观与高效率的程序开发是相互矛盾的。在这里推荐给大家一个类库--CJLibrary,利用这个库,你可以做出像Outlook,  DevStudio那样美观、方便的程序界面,让读者朋友在程序界面程序设计中享受一下RAD。

一、CJLibrary安装与环境配置

CJ是一套基于MFC的VC++界面开发类库,源代码公开,可以网上免费下载。它的主 

页是http://www.codejock.com,哈工大的同学可以在这两个地址下载6.08版: 

ftp://ftp.hit.edu.cn/incoming/ShareCode/VC/Advanced_UI/CJLibSetup608e.exe 

ftp://mtftp.hit.edu.cn/incoming/yang-10-31/CJLibSetup608e.exe
安装过程很简单,所有组件都选上,占用4.3M的空间。为表达方便,以下提到文件路径时都指的是CJ的安装目录下的子目录、文件。   
  CJLibrary/*.*   是CJ的源代码,不含.h文件。   
  Include/*.*   是CJ的头文件,你自己编的程序所需要包含的头文件都在这里。   
  Example/*.*   是CJ的示例文件,能读懂这些代码,你也就知道CJLibrary应该怎么   
  用了。   
                          如果你比较勤快的话,那么就别再听我絮叨了,现在就去读吧!   
  Wizards/*.*   是一些向导程序,编译这些程序之后,你的DevStudio的AppWizard里   
                          便自动有了支持CJ的几个Wizard。这是使用CJLibrary最简单的方法,我们从这里谈起……   
    
  在开始使用CJ之前,要作些准备工作,那就是编译生成CJ应用需要的.lib和.dll文件。打开CJLibrary/CJLibrary.dsw,如果用的是VC6,会出现一个提示框,问你是否把VC5的工程转为VC6的工程。回答是就Ok了,没问题的。如果用的是VC5,就没有这个提示了。CJ就是在VC5下编的。   
  首先切换Active   Project   Configuration。选Build菜单里的Set   Active  Configuration...设置激活配置为CJLibrary-Win32   Release,然后按F7编译。再切换激活配置为CJLibrary-Win32   Debug,编译。VC中一个程序可以有多种配置,缺省配置就是Debug和Release两种,分别用来调试和最终发行执行文件。现在所作的事情就是为两种不同的配置分别生成必须的库文件。这个工程中还有两个Unicode配置,是为支持Unicode的NT程序准备的,如果你不需要Unicode支持,可以置之不理。此时CJ的安装目录下会出现一个Lib目录,里面就是生成的库文件。CJ608Lib.* 对应Release配置,CJ608Libd.*对应Debug配置。*.lib是源程序链接时使用的库文件,*.dll是在执行程序运行时调用的动态链接库文件。   
  CJLibrary/CJLibrary.dsw生成的库文件都是用于动态链接的,也就是说最后的执行程序必须有.dll文件的支持才能运行。能否让程序脱离.dll而独立运行呢?当然可以了。   
  CJLibrary/CJLibraryStatic.dsw就是用于生成静态链接库文件的。打开,编译各种配置,Lib目录下将增加CJ608LibStatic.lib和CJ608LibStaticd.lib两个库文件。这两个文件体积明显大了很多。   
    
   Wizards/下有六个Wizard源代码,每编译一个都会向DevStudio里添加一个Wizard,这里仅以Outlook为例。   
  打开Outlook/Outlook.dsw,   
  首先切换激活配置为Outlook-Win32   Release,然后编译。此时,这个Outlook   Wizard就已经被加到DevStudio的集成环境中了,接下来就可以用它建立你的Outlook了。   
  建立过程是这样的:File->New->Projects->CJ   Outlook   AppWizard,在Project   name里添上你想要的工程名(比如我用OutlookDemo),Location里指明你要保存工程的目录,然后Ok!不用理会接下来的对话框,再次Ok!一个属于你的CJ工程就建好了。   
  编译一下看看,提示出错:   
  Cannot   open   include   file:   'CJLibrary.h':   No   such   file   or   directory  这是因为你没有把'CJLibrary.h'加到Include   Directory里。怎么加呢?   
  Project->Settings;对话框里改变Settings   For为All   Configurations;单击C/C++,变Category为Preprocessor;把CJ的Include目录的绝对路径添到Additional   includedirectories里;最后OK!   
  再编译,还有错,提示:   
  LINK   :   fatal   error   LNK1104:   cannot   open   file   "CJ608Libd.lib"  别着急,这是因为你的Library   directory里还差CJ的路径。   
  Project->Settings->All   Configurations->Link;变Category为Input;把CJ的Lib目录的绝对路径添到Additional   library   path里;最后OK!   
  这回编译没问题了,但是按ctrl+F5运行程序又有了问题。Lib/*.dll到你的工程目录下,对我来说是OutlookDemo/。   
  目前是动态链接,所以需要.dll的支持。下面将其改为静态链接。   
  Project->Settings->All   Configurations->General;改Microsoft Foundation   Classes为Use   MFC   in   a   Static   DLL。然后,Bulid->Rebuild      All。这时生成的执行文件就不需要CJ的.dll的支持了。   
  上面介绍的加Include和Library目录的方法只对单个工程有效,如果你想一劳永逸,使以后所有的工程都能自动找到CJ的库和头文件,那么Tools->Options->Directories,在Include   files和Library   file里都加上相应的路径。 

 

二、使用CJLibrary控件进行界面开发

关于这方便的内容网上很少有中文资料,在这里参考:

《Visual C++界面编程技术》第10章 使用CJLibrary控件开发界面应用程序。(见P469)

《Visual C++界面编程技术》第11章 使用CJLibrary工程向导进行界面程序设计。(见P498)

界面编程总结(3)

CJLibrary界面编程 在进行项目开发时,功能是最主要的,逐一设置单纯的控件外观与高效率的程序开发是相互矛盾的。在这里推荐给大家一个类库--CJLibrary,利用这个库,你可以做出像Outloo...
  • byxdaz
  • byxdaz
  • 2010年05月03日 11:34
  • 2269

Linux图形界面编程简单教程(附计算器源代码)

如何在linux下用gtk开发图形界面应用程序 最近爱上了Linux,尤其是在读了我博客转载到一篇文章之后,更加的决定这辈子要和linux做永远的情人。正好博主这学期也学习了Linux操作系统。当然...
  • dyllove98
  • dyllove98
  • 2013年05月05日 19:37
  • 8589

入职新公司3个月总结

今天是2017年7月12日,来新公司正好3个月。在这三个月中,4月的时候,还是在上海,当时还没有进入项目组,一直在自己学习。只做了一个很小的东西。参与了cms迭代的开发。然后5月来到了长沙,在长沙开始...
  • u011162534
  • u011162534
  • 2017年07月12日 14:20
  • 270

VC++界面编程总结

一、改变视图背景色:     在CView的OnDraw函数中添写如下一段程序代码:     void CFileNameView::OnDraw(CDC* pDC)     { CFileN...
  • misakahina
  • misakahina
  • 2014年02月03日 10:51
  • 689

界面编程总结 转

界面编程总结(1)我们在做程序设计时界面与功能,那个更加吸引用户的兴趣呢?这是一个很难回答的问题。拥有美丽的外观,软件就成功了一半。界面由控件、工具栏、菜单、窗体等元素组成,对他们进行美化就能得到一个...
  • feihuadao
  • feihuadao
  • 2010年12月08日 22:48
  • 1363

界面编程总结(5)

利用界面开发包美化界面  在程序设计中为了界面和业务逻辑相分离,将程序员从烦琐的界面设计中彻底解放出来,将精力集中在业务功能的实现上,提高产品的开发效率。可以利用换肤软件开发包快速开发漂亮的软件。本文...
  • byxdaz
  • byxdaz
  • 2010年05月09日 13:42
  • 5178

实习3个月感想

4月1号入职到今天刚好实习3个月。7月1号正式入职,公司的OA系统要求写一篇1500字左右的实习总结,遂成此文。= =     公司主要是做在线教育和教务管理系统这一类的项目。由于是实习生,所以最...
  • acmjk
  • acmjk
  • 2015年06月30日 11:07
  • 1269

VC 界面编程总结

我们在做程序设计时界面与功能,那个更加吸引用户的兴趣呢?这是一个很难回答的问题。拥有美丽的外观,软件就成功了一半。界面由控件、工具栏、菜单、窗体等元素组成,对他们进行美化就能得到一个美丽的界面。 ...
  • wojiushi3344
  • wojiushi3344
  • 2012年04月27日 16:00
  • 3361

VC界面编程总结

我们在做程序设计时界面与功能,那个更加吸引用户的兴趣呢?这是一个很难回答的问题。拥有美丽的外观,软件就成功了一半。界面由控件、工具栏、菜单、窗体等元素组成,对他们进行美化就能得到一个美丽的界面。 目前...
  • yaoxinchao
  • yaoxinchao
  • 2012年05月08日 15:28
  • 5011

界面编程总结(6)

RIA技术l       定义RIA(Rich Internet Application,富互联网应用系统)技术允许我们在因特网上以一种象使用Web一样简单的方式来部署富客户端程序。这是一个用户接口,...
  • byxdaz
  • byxdaz
  • 2010年05月30日 13:28
  • 1426
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:界面编程总结(3)
举报原因:
原因补充:

(最多只允许输入30个字)