Windows下的C和C++编程

上传人:xins****2008 文档编号:112057893 上传时间:2019-11-04 格式:DOC 页数:52 大小:690.65KB
返回 下载 相关 举报
Windows下的C和C++编程_第1页
第1页 / 共52页
Windows下的C和C++编程_第2页
第2页 / 共52页
Windows下的C和C++编程_第3页
第3页 / 共52页
Windows下的C和C++编程_第4页
第4页 / 共52页
Windows下的C和C++编程_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《Windows下的C和C++编程》由会员分享,可在线阅读,更多相关《Windows下的C和C++编程(52页珍藏版)》请在金锄头文库上搜索。

1、Windows下的C/C编程Windows下的C/C编程对于任何一种编程语言,都会以一个最基本的程序入门,就是大家都很熟悉的Hello World。那么,我们也从这里开始吧。最简单的Windows程序1)TC中的Hello World相信对于下面的Turbo C 程序大家都不会陌生,这就是最简单的TC经典入门程序:include main( )prinft(“ Hello World !”);这个程序将在DOS模式中输出“Hello World”。2)最简单的Windows下的Hello World其实,下面的程序并不是标准的Windows应用程序,它不产生传统意义上的窗口,而只是跳出一个对话

2、框。让我们详细的操作一下:首先从开始菜单中选择Microsoft Visual C+ 6.0(其他版本也行);(见图1-1)图1-1 Microsoft Visual C+ 6.0然后通过File菜单中的new选项新建一个工程。在Projects选项中选择Win32 Application;然后指定工程名,这里是:Hello World;再指定存储路径,这里是D:DirectX8.0游戏编程;最后点击OK。(见图1-2)图1-2 Projects选项Win32 Application下面出现以下窗口,选择An empty project;点击OK。(见图1-3)图1-3 An empty pr

3、oject这样,就创建了一个空的工程,工程名为Hello World,存储路径为D:DirectX8.0游戏编程下的Hello World文件夹。下一步,在空的工程中加入C语言的源程序文件。在Visual C+ 6.0的File菜单中选择new选项;在弹出的File菜单中选择C Source File;选中Add to project 选框;选中加入到那个工程中,这里是Hello World,就是刚才创建的工程;填写文件,这里是Hello World,下面是工程的存放路径;最后,选择OK。(见图1-4)图1-4工程的存放路径这样,就在刚才的空工程中加入了一个文件,可以在Vc的FileView框

4、中看到它,右边是它的编辑框,在那里编写源程序。(见图1-5)图1-5Vc的编辑框那么,加入如下代码:#includeint WINAPI WinMain ( HINSTANCE hInstance ,HINSTANCE hPrevInstance , LPSTR lpcmdLine ,int nCmdShow) MessageBox ( NULL , TEXT(Hello World!) TEXT(My 1st Program) , MB_OK) ; return 0 ;然后,选择执行,或者直接按F5键。就会得到如下的执行结果:一个弹出的对话框(见图1-6)。图1-6 Hello World弹

5、出框3)程序分析和TC程序比较,这个Windows程序基本相同。包含了头文件,有一个主函数,在主函数中调用了一个系统函数,主函数返回一个整数值。每个语句以分号结束,复合语句用大括号包含。下面对它进行详细的分析。4)程序的参数下面,对上面的程序的参数从上至下进行分析。 #include程序包含了一个头文件windows.h ,基本上所有的Windows程序都会包含这个文件。它定义了Windows的基本数据类型、数据结构、系统函数等。 int WINAPI WinMain Tc中的程序是以main函数为程序入口的,而Windows程序是以WinMain函数为入口的,这个函数的定义如下:函数原型in

6、t WINAPI WinMain ( HINSTANCE hInstance ,HINSTANCE hPrevInstance ,LPSTR lpcmdLine ,int nCmdShow);第一个参数hInstance是当前实例句柄,为一个整数,用于标识窗口、程序等。第二个参数hPrevInstance 被置为NULL。第三个参数lpcmdLine是运行程序的命令行。第四个参数nCmdShow用于指定程序窗口最初的显示模式,可以在初始是指定是正常还是最大化等。WinMain函数返回一个整数。WINAPI用于指定调用约定,具体在WINDEH.H中定义。 MessageBox MessageBo

7、x是一个Windows API函数,用于弹出一个对话框,显示一些简短的信息。定义如下:函数原型MessageBox ( HWND hWnd , LPCTSTR lpText ,LPCTSTR lpCaption ,UINT uType ) ; 第一个参数hWnd是一个窗口句柄,表明对话框所属的窗口。第二个参数lpText是一个字符串,表明需要显示的信息。TEXT是一个宏。第三个参数lpCaption是一个字符串,表明对话框的标题。第四个参数uType用于指定对话框中的按钮和图标。(见表1-1)各种按钮和图标类型可以同时使用,用“ | ”连接,如“MB_OK | MB_ERROR” 。类型按钮图

8、标MB_OK确定-MB_OKCANCEL确定和取消-MB_YESNO是和否-MB_INFORMATION-提示MB_WARNING-警告MB_ERROR-出错表1-1按钮和图标试一试注意试试让系统弹出不同的对话框 Windows应用程序1)真正的Hello World上一节中,实现了Windows弹出一个对话框,显示了一个简短的信息“Hello World”。但是,这和平时看到的大多数Windows应用程序不太一样,没有窗口,没有最大化、最小化按钮等。虽然如此,它还是相当重要的,特别在显示出错或提示信息时尤为简便。下面,来看一看一个真正的Windows窗口程序。同样,创建一个新的工程,这里是H

9、ello World Windows(见图1-7): 图1-7Hello World Windows工程然后加入一个新的C源文件(其实可以看成是C源文件,只是换了后缀名),文件名为Win Hello World。下面是程序的代码。注意要利用空格和回车,还要注意程序代码的缩进,这样才能保证代码的可读性,同时也会方便修改:#includeLRESULT CALLBACK WndProc (HWND , UINT , WPARAM , LPARAM ) ;int WINAPI WinMain ( HINSTANCE hInstance , HINSTANCE hPrevInstance, LPSTR

10、 lpcmdLine , int nCmdShow)static TCHAR szAppName = TEXT( HelloWorld ) ;static TCHAR szClassName = TEXT( HelloWorldClass );HWND hwnd ;MSG msg ;WNDCLASS wndclass ;wndclass. style = CS_HREDRAW | CS_VREDRAW ;wndclass. lpfnWndProc = WndProc ;wndclass. cbClsExtra = 0 ;wndclass. cbWndExtra = 0 ;wndclass. h

11、Instance = hInstance ;wndclass. hIcon = LoadIcon ( NULL , IDI_APPLICATION) ;wndclass. hCursor = LoadCursor ( NULL , IDC_ARROW) ;wndclass.hbrBackground = ( HBRUSH ) GetStockObject ( WHITE_BRUSH ) ;wndclass. LpszMenuName = NULL ;wndclass. lpszClassName = szClassName;if ( ! RegisterClass ( & wndclass )

12、 )MessageBox ( NULL , TEXT ( This programrequires Windows NT !) , szAppName , MB_ICONERROR ) ;return 0 ;hwnd = CreateWindow ( szClassName ,TEXT(My Hello World to Windows Program) , WS_OVERLAPPEDWINDOW ,CW_USEDEFAULT ,CW_USEDEFAULT ,CW_USEDEFAULT ,CW_USEDEFAULT ,NULL ,NULL ,hInstance ,NULL ) ;ShowWin

13、dow (hwnd , nCmdShow ) ;UpdateWindow ( hwnd ) ;while ( GetMessage ( & msg , NULL , 0 , 0 ) )TranslateMessage ( &msg ) ;DispatchMessage ( &msg) ;return msg. wParam ;LRESULT CALLBACK WndProc ( HWND hwnd , UINT message ,WPARAM wParam , LPARAM lParam )HDC hdc ;PAINTSTRUCT ps ;RECT rect ;switch ( message )case WM_CREATE :MessageBox( NULL , HelloWorld! , Hello World , MB_OK) ; MessageBeep ( MB_OK ) ; return 0 ;case WM_PAINT:hdc = BeginPaint ( hwnd , &ps ) ;GetClientRect ( hwnd , &rect ) ;DrawText ( hdc , TEXT ( Hello , Windows !) , -1 , &rect ,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号