摘要: 1. C#简单历史: C#是MS于2000年推出.Net Framework时提供的一种全新的语言,到目前最新的版本已经是C#4.0了,它是.Net Framework4.0的一部分,对应的开发环境为VS2010。从C#的命名就可以猜出这门语言与C、C++之间有某种联系,而其实C#正是从C、C++发展而来的,它的语言与C++非常相似。C++是一门很强大很灵活的OOP语言,但是C++比较复杂(复杂也代表着灵活吧)。C#是目前在.Net平台上唯一能够利用所有.NET特性的语言,这也是C#的使命,它本来就是为.NET框架而诞生的。 由于从C++演化而来,C#的语法与C++很相似,但是还是存在不少的区 阅读全文
posted @ 2011-03-17 22:38 I'm 农民工 阅读(3586) 评论(0) 推荐(0) 编辑
摘要: 一、GDI  GDI全称是Graphic Device Interface,即图形设备接口,是操作系统提供的位于应用程序层和不同硬件层的中间层。软件开发人员可以直接调用GDI提供的接口函数来对不同输出设备进行绘制。二、GDI+  GDI+是Windows对GDI的升级版本,对GDI进行了一些优化,并在此基础上增加了许多新的特性,如渐变色填充、反走样绘图等。GDI+已经出现差不多10个年头了,但目前在vc领域的开发工作中,还是有相当大一部分比例仍然在使用笨拙的GDI。  在VC下使用的GDI+接口其实是微软提供的一套基于C++的类库,其中的类信息如下:三、GDI+与GDI主要变化  1、不再使用 阅读全文
posted @ 2011-02-13 17:56 I'm 农民工 阅读(2131) 评论(1) 推荐(0) 编辑
摘要: 最近在项目中用到MFC feature pack中的CMFCButton,这个类基于CButton类派生而来,能够轻松在Button上面显示位图,而且支持透明背景显示;而一般的位图(bmp)图像中不包含alpha通道,这样一来要想把button搞的漂亮些的话素材就少了(在button上面显示普通的位图将包含背景,比较丑)。自己去一个个制作包含alpha通道的位图工作量也很大。后来在网上搜了搜,发现一个捷径:使用iconworkshop将png格式的图像转换成带alpha通道的位图,操作也很简单:使用iconworkshop打开一幅png格式的图像,然后点击另存为,在另存为对话框中选择bmp格式 阅读全文
posted @ 2011-01-26 21:11 I'm 农民工 阅读(761) 评论(0) 推荐(0) 编辑
摘要: 最近在使用vs2008 sp1做的一个项目中,使用了其扩展框架即CFrameWndEx以及CMDIFrameWndEx等,想在其中使用dialog bar,但是死活是显示不出来:创建都可以成功,但是就是无法显示,而且一旦调用DockControlBar就会崩溃。这不知道是vc的bug,还是微软设计的扩展框架不再对旧版本的controlbar提供支持,而是仅支持新加入的bcg元素,如CMFCToolBar,CPaneDialog。网上查了些资料,一些网友也在反应这个问题,而却没找到官方的文档解释。这么看来,目前在vc2008 sp1下使用mfc框架,要么使用原始的CFrameWnd+CToolB 阅读全文
posted @ 2010-12-17 23:08 I'm 农民工 阅读(2043) 评论(0) 推荐(1) 编辑
摘要: 稍微复杂一点的MFC程序,一般采用MDI架构来实现。有时会有这种需求,比如对于某一个功能,在程序中仅需要一个文档对象就够了(一个文档对应一个相应的MDI子框架对象)。最近在做一个工具的时候就遇到了这种需求。下面是自己想的一种方法:即在创建文档的时候,截取创建消息,并从docManager中取得文档模板信息,并进而枚举出所有的已创建的文档对象进行判断,当找到该类型文档对象的时候,就返回;否则,即没找到的情况下,创建一个该类型的文档对象。 阅读全文
posted @ 2010-12-05 15:54 I'm 农民工 阅读(474) 评论(0) 推荐(0) 编辑
摘要: 最近在看尚学堂的 UML 视频。感觉还有点小意思,总比看书强多了。边看边做下些笔记。依赖:一个事物的变化引起另外一个事物的变化,表现为在一个对象的方法中用到其他类型的对象;用到什么就依赖什么。依赖关系--真的有必要画出来吗?必要性是画图的重要原则,因此,不一定要画出所有的依赖关系。要注意不影响图形的美观。(关键是要看需要表达什么,只要把问题表达清楚就行)低耦合高内聚:降低依赖的目标是降低与不稳定的... 阅读全文
posted @ 2010-11-24 22:24 I'm 农民工 阅读(306) 评论(0) 推荐(0) 编辑
摘要: gnu是个好东西。在上家公司,用的Linux开发,现在转到windows上,不过还是感觉linux上的命令用的比较舒服。在网上找了找,一位仁兄的博客中作了总结,转来至此收藏之。转自 http://www.cublog.cn/u3/96229/showart_1986411.html(gnuwin32首页:http://gnuwin32.sourceforge.net/)1.先下载wget,貌似这是... 阅读全文
posted @ 2010-10-24 10:23 I'm 农民工 阅读(1935) 评论(0) 推荐(0) 编辑
摘要: 近来学习python和wxpython,就顺手做了一个小工具:基于wxPython的python代码统计工具,主要功能是可以通过wxpython的gui界面选择一个目录,然后工具将递归搜索该目录找出所有以.py结尾的文件,并对这些文件进行统计,输出包括总的代码行数,注释行数,空行数等。开发工具:python2.7 + wxPython2.8.11 + wxFormBuilder。程序界面如下:代码... 阅读全文
posted @ 2010-10-17 22:33 I'm 农民工 阅读(1454) 评论(0) 推荐(0) 编辑
摘要: 1. 从wxPython导入其它任何东西之前必须先导入wx,即import wx。这是因为wxPython要对别的wxpython模块执行一些初始化工作。2.每个wxPython程序必须有一个app对象和至少一个frame对象。通常在app对象的OnInit方法中创建frame对象。一个wxPython程序可以游几个frame,其中有一个是被设计为应用程序的顶级窗口的。顶级窗口被用作为那些没有指定... 阅读全文
posted @ 2010-10-08 20:47 I'm 农民工 阅读(1082) 评论(0) 推荐(1) 编辑
摘要: 1.标准的Python语言是用C实现的,又被称为Cpython。有一个python解释器是完全由Java写的,名为Jython,另外还有一个名为IronPython的Python实现,是用c#语言完成的,适用于.net开发,你可以再一个.net应用程序中整合Ironpython解释器来访问.net对象。2.在Python中有两种除法,单斜杠/用作传统除法,双斜杠//用作浮点除法。传统除法是指如果两... 阅读全文
posted @ 2010-10-04 15:43 I'm 农民工 阅读(685) 评论(0) 推荐(0) 编辑