1. 理解VC工程内幕
1》 dsw 文件是级别最高的类型,即workplace 文件
2》 dsp 文件是project 文件,每个不同的工程有自己的dsp文件,
在workplace 中统一管理。
3》 opt 文件 :计算机配置文件,所以,每个计算机之间是不可以共享的哦。
4》 clw文件 用来存放应用程序中用到的类和资源的信息的,这些信息是VC中的ClassWizard 工具管理和使用类的信息来源。
5》 每个工程都有一个 readme.txt ,用以保存基本信息。
2. windows 消息:
1》
窗口消息:WM_CREATE,WM_DESTROY,WM_CLOSE
WM_CREAT 是对消息处理过程中的用来设置显示窗口前的初始化工作,例如大小,颜 {MOD}… …
WM_CLOSE 发送销毁窗口的消息,回收的窗口的资源,但是请注意,此时的exe并没有退出哦,WM_CLOSE被GetMessage()收到后,它会发出WM_DESTROY()消息,所以只有自写WM_DESTROY的处理才是正常的途径。
WM_DESTROY 里面写的是PostMessage(0),就是真正的退出程序咯… …
2》
键盘消息:WM_CHAR,WM_KEYDOWN,WM_KEYUP
在键盘上按下一个键时会产生 WM_KEYDOWN的消息,释放按键时会产生 WM_KEYUP 的消息,所以WM_KEYDOWN和WM_KEYUP总是成对出现的哦; 至于WM_CHAR
消息是在用户的键盘输入能产生有效的ASCII 码时才会发生。
对于前两个是 虚拟按键 就可以咯,而 WM_CHAR 是有必须的实键的 ,因为ASCII 码必须区分大小写。
3》鼠标消息:WM_MOUSEMOVE,WM_LBUTTONDOWN,WM_LBUTTONUP,WM_LBUTTONDBCLICK, WM_RBUTTONDOWN, WM_RBUTTONUP,
WM_RBUTTONDBCLICK。
WM_MOUSEMOVE消息发生在鼠标移动的时候,剩余的六个消息则分别对应于鼠标左右键的按下、释放、双击事件,要指出的是WINDOWS系统并不是在鼠标每移动一个像素时都产生MOUSEMOVE 消息,这一点要特别注意(!!!!!!)
4》另一组窗口消息:WM_MOVE , WM_SIZE ,WM_PAINT
当窗口移动的时候产生 WM_MOVE消息,窗口的大小改变的时候产生WM_SIZE消息,而当窗口工作区中的内容需要重画的时候就会产生WM_PAINT 消息。
5》焦点消息WM_SETFOCUS,WM_KILLFOCUS
当一个窗口从非活动状态变为具有输入焦点的活动状态的时候,它就会收到WM_SETFOCUS消息,而当窗口失去输入焦点的时候它就会收到WM_KILLFOCUS 消息。
6》定时器消息:WM_TIMER(相当重要!!!)
当我们为一个窗口设置了定时器资源之后,系统就会按规定的时间间隔向窗口发送WM_TIMER消息,在这个消息中就可以处理一些需要定期处理的事情。
3. 关于windows程序添加代码的基本知识:
进入 View(查看),选择第一项,
选择你所需要的最基本的消息处理,例如WM_TIMER,再Message栏中点击后,在 Memberfunction 中点击后就会在代码中出现基本代码:
///////////////////////////////////////////////////////////////////////////
// CMFCApp message handlers
void CAboutDlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code hereand/or call default
CDialog::OnTimer(nIDEvent);
}
( 相当经典哦 ,呵呵呵… …)
------》》》
当然也可以增加一个类的哦,呵呵,就是点击Add Class:然后框框如下:
4. 资源编辑器 RESOUCR EDITOR
在VC开发的应用程序中要用到大量的位图,菜单,工具条,对话框等各种资源。这些资源对于程序而言是相对独立的,所以可以对它们进行单独的编辑,然后使用在程序中。而RESOUCEEDITOR 正是为编辑资源提供了一种可视化的开发方法。极大地减轻了程序员的负担。
对于修改资源很简单,就不说咯,现在看看怎么增加资源:
单击 INSERT 菜单,选中RESOURCE 菜单项,系统弹出 INSERT RESOURCE对话框。如图1.15。(INSERT:插入资源 )