【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
在过去工作的时间当中,我工具代码和服务器代码写得多,但是客户端写的少。有关图形界面的代码就写得更少了。所以,利用这一段时间,将win32和mfc的代码重新学习了一下,收获还是很多的。
实际开发中,使用mfc的概率比win32多很多。但是,这不妨碍大家学习win32来开发应用。建议大家还是多看看win32的代码。虽然win32的api比较多,看上去比较复杂,但是代码写的多了,了解里面的逻辑之后,其实就会发现win32和mfc是一回事,只不过mfc将大部分的工作都封装好了,自己只需要注册消息函数就可以了。从项目开发的角度说,使用mfc无可厚非。但是从个人学习和发展来说,学习win32对于我们来说还是大有裨益的。
所谓的win32开发,这里指的主要是界面开发,它主要包括两个部分。一部分是win32流程的学习和各种组件的学习,它主要集中在了解win32的消息机制。另外的一方面主要是gdi学习,即了解如果利用gdi来绘图。对于一般的应用而言,使用组件开发就可以了,但是如果是一些复杂工具的开发,比如说office这种,学习gdi还是很有必要的。当然,如果只是做一些erp之类的流程软件,学不学gdi都不是太要紧的。
闲话少说,我们今天来学一个最简单的win32代码。如下所示,
// tt.cpp : Defines the entry point for the application.
//
#include "stdafx.h"
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
// TODO: Place code here.
MessageBox(NULL, "hello,world", "TIPS", 0);
return 0;
}
这是vs工具提供的simple win32项目。我只在里面添加了一行代码,即,
MessageBox(NULL, "hello, world", "TIPS", 0);
这段代码很简单,它的意思就是说弹出一个对话框,标题是“TIPS”,内容是“hello, world”,就是这么简单。
学习当然是从简单的地方学,这里的helloworld代码就和学c时的代码是一样的,只是希望大家不要有害怕的想法。win32基本逻辑不复杂,它的复杂主要体现在每一个具体的细节都要你自己掌握。一旦学会了,也就没有什么了。
日常开发中,我们常说mvc机制,m指model,v指view,c指controller。这里的v就是说怎么把m的数据用图形界面的方法显示出来。不同平台v的写法是不同的,所以一般来说m和v尽量切的干净一些,c的动作越少越好。所以,这个时候就出现了mvp,即m只和p联系,v也只和p联系,这样代码在跨平台的时候也容易些,测试的时候也可以轻松一些。