2007年04月
制作24位真彩色工具栏,网上的资料可真是多啊。我写这篇文章前就想放弃写了,虽然我是做出来,可人家早就做出来了啊。
这段时间呢,由于无事可干,老板看着我闲着也是闲着,就叫我先做一个软件界面出来,抱着学习与工作的心态,就开始做了。看到 Acrobat Reader 5.1,就想着我也能不能将工具栏做成和它的一模一样呢?想法当然是可行的了,做法也是可行的。网上这方面的资料很快我就轻松获取到了(多亏了Google没被封杀)。依葫芦画瓢,工具栏做出来了。效果是不错,不过呢,工具在无效时那图形真的好丑,丑的胜过东施,一点都不像 Reader5。
阅读全文>
发表于 @ 2007年04月27日 13:15:00|评论(loading...)|编辑
充分利用现成加密软件,程序员可以将更多的精力放到程序设计编写中去。为了提高强度,在使用加壳软件过程中尽可能多利用SDK。阅读全文>
发表于 @ 2007年04月20日 11:37:00|评论(loading...)|编辑
const char * 类型的指针(指向常量的指针)其所指向的内容是常量,是不可以修改的,但其指针值是可以修改的,
char * const 类型的指针(指针常量)它的地址是一个常量,指针值是一个常量,不可以修改,但其指向的内容可以修改。
阅读全文>
发表于 @ 2007年04月16日 11:05:00|评论(loading...)|编辑
MFC扩展DLL的内涵为MFC的扩展,用户使用MFC扩展DLL就像使用MFC本身的DLL一样。除了可以在MFC扩展DLL的内部使用MFC以外,MFC扩展DLL与应用程序的接口部分也可以是MFC。我们一般使用MFC扩展DLL来包含一些MFC的增强功能,譬如扩展MFC的CStatic、CButton等类使之具备更强大的能力。 阅读全文>
发表于 @ 2007年04月13日 09:38:00|评论(loading...)|编辑
第4节我们对非MFC DLL进行了介绍,这一节将详细地讲述MFC规则DLL的创建与使用技巧。阅读全文>
发表于 @ 2007年04月12日 15:11:00|评论(loading...)|编辑
第2节给出了以静态链接库方式提供add函数接口的方法,接下来我们来看看怎样用动态链接库实现一个同样功能的add函数。
阅读全文>
发表于 @ 2007年04月12日 15:09:00|评论(loading...)|编辑
先来阐述一下DLL(Dynamic Linkable Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量、函数或类。在仓库的发展史上经历了“无库-静态链接库-动态链接库”的时代。阅读全文>
发表于 @ 2007年04月12日 15:07:00|评论(loading...)|编辑
目标
保存并恢复用户在前面例子中选定的选项。
策略
使用六个CWinApp函数把选项值装入并保存到系统注册表中。阅读全文>
发表于 @ 2007年04月11日 14:37:00|评论(loading...)|编辑
一个MFC应用程序可以用CCommandLineInfo类的成员函数ParseParam()处理一些标准标
志。要添加我们自己的标志,而仍然能够支持另外一些标志,我们将从CCommandLineInfo派
生类,然后重载ParseParam()。阅读全文>
发表于 @ 2007年04月11日 13:41:00|评论(loading...)|编辑
访问应用程序的其它类
获得CWinApp:
-在CMainFrame,CChildFrame,CDocument,CView中直接调用AfxGetApp()或用theApp
-在其它类中只能用AfxGetApp()
阅读全文>
发表于 @ 2007年04月11日 13:30:00|评论(loading...)|编辑
在文档窗口创建的时候 ,它缺省总是会新建一个新文档 , 那么怎么让它不新建文档呢?就这个问题 , 我对文档视图窗口应用程序启动时的文档创建机制 , 稍稍的浅浅挖了一下 , 做了一个详细的分析 , 希望能够对初学者有所帮助 . 阅读全文>
发表于 @ 2007年04月11日 12:57:00|评论(loading...)|编辑
如果想改变应用程序窗口样式,则需要直接编辑CMainFrame::PreCreateWindow()函数。直接
编辑还允许为应用程序的初始外观作某些额外的变化。
阅读全文>
发表于 @ 2007年04月11日 10:31:00|评论(loading...)|编辑
孙鑫VC++讲座笔记-(7)对话框
模态对话框和非模态对话框
A modal dialog box must be closed by the user before the application continues. A modeless dialog box allows the user to display the dialog box and return to another task without canceling or removing the dialog box.阅读全文>
发表于 @ 2007年04月05日 15:11:00|评论(loading...)|编辑
1,弹出菜单(Pop-up)是不能用来作命令响应的。
2,MFC中菜单项消息如果利用ClassWizard来对菜单项消息分别在上述四个类中进行响应,则菜单消息传递顺序:View类--Doc类--CMainFrame类--App类。菜单消息一旦在其中一个类中响应则不再在其它类中查找响应函数。
阅读全文>
发表于 @ 2007年04月05日 15:08:00|评论(loading...)|编辑
1,创建插入符:
void CreateSolidCaret( int nWidth, int nHeight );//创建插入符
void CreateCaret( CBitmap* pBitmap );//创建位图插入符
void ShowCaret( );//显示插入符
void HideCaret( );//隐藏插入符
static void PASCAL SetCaretPos( POINT point );//移动插入符号阅读全文>
发表于 @ 2007年04月05日 15:07:00|评论(loading...)|编辑
1,消息响应函数:(例:在CDrawView类响应鼠标左键按下消息)
1)在头文件(DrawView.h)中声明消息响应函数原型。
//{{AFX_MSG(CDrawView) //注释宏
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
//}}AFX_MSG //注释宏
说明:阅读全文>
发表于 @ 2007年04月05日 15:06:00|评论(loading...)|编辑
寻找WinMain人口:
在安装目录下找到MFC文件夹下的SRC文件夹,SRC下是MFC源代码。
路径:MFC|SRC|APPMODUL.CPP:
_tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPTSTR lpCmdLine, int nCmdShow)
{
// call shared/exported WinMain
return AfxWinMain(hInstance, hPrevInstance, lpCmdLine, nCmdShow);
}
注意:(#define _tWinMain WinMain)阅读全文>
发表于 @ 2007年04月05日 15:05:00|评论(loading...)|编辑
c语言中,结构体struct中不能包括函数的,而在C++中struct中可以包括函数。阅读全文>
发表于 @ 2007年04月05日 15:03:00|评论(loading...)|编辑
1,windows程序设计是种事件驱动方式的程序设计,主要基于消息的。当用户需要完成某种功能时,需要调用OS某种支持,然后OS将用户的需要包装成消息,并投入到消息队列中,最后应用程序从消息队列中取走消息并进行响应。阅读全文>
发表于 @ 2007年04月05日 15:02:00|评论(loading...)|编辑
1.1 程序结构清析,简单易懂,单个函数的程序行数不得超过100行。
1.2 打算干什么,要简单,直接了当,代码精简,避免垃圾程序。
1.3 尽量使用标准库函数和公共函数。
1.4 不要随意定义全局变量,尽量使用局部变量。
1.5 使用括号以避免二义性。阅读全文>
发表于 @ 2007年04月03日 17:10:00|评论(loading...)|编辑