Windows程序设计第一次实验的指导书

 
五、SDK应用程序设计
SDK: Software Development Kit, 是windows应用程序的原生态开发工具,利用它所提供的函数和方法,可以开发任何一种Windows应用程序。
这种应用程序的开发过程是大量调用win32 API的过程。
 
实验目的:
掌握利用 WIN32API编程的基本方法。
实验要求:
1,能够独立写出 Generic Windows应用程序的主体
2,能够理解并掌握 windows应用程序的四个基本概念: 窗口,事件驱动,句柄和消息。
实验内容:
              1、编写Generic Windows应用程序,这个程序包含所有Win32应用程序都包含的代码部分。
              2、编写一个Windows应用程序,具备菜单等UI元素,能够利用鼠标绘图,能够实现动画效果。
实验步骤:
实验内容一:
(1)、单击菜单File|New,选择projects标签下的Win32 Application,在项目名字编辑框中输入GenericWindows,然后选择AddToWorkspace, 然后单击OK。
(2)、单击菜单File|New, 选择Files标签下的C++ Source File, 在名字框种输入GenericWindows, 然后确定。
(3)、在源代码编辑窗口输入如下代码:
//GenericWindows.cpp-----------------------------------------------------
#include "windows.h"
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
       MSG msg;
       WNDCLASS wc;
       HWND hWnd;
       TCHAR szClassName[] = "GenericClass";
       TCHAR szWindowName[] = "GenericWindow";
 
       wc.cbClsExtra = 0;
       wc.cbWndExtra = 0;
       wc.style      = CS_HREDRAW | CS_VREDRAW;
       wc.lpfnWndProc= WndProc;
       wc.hInstance = hInstance;
       wc.hIcon  = LoadIcon(NULL, IDI_APPLICATION);
       wc.hCursor      = LoadCursor(NULL, IDC_ARROW);
       wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
       wc.lpszMenuName = NULL;
       wc.lpszClassName = szClassName;
 
       if ( !RegisterClass(&wc) ) {
              MessageBox(NULL, "window class register err!", "Generic error", MB_OK);
              return FALSE;
       }
       hWnd = CreateWindow(szClassName, szWindowName, WS_OVERLAPPEDWINDOW,
                                          CW_USEDEFAULT,
                                          CW_USEDEFAULT,
                                          CW_USEDEFAULT,
                                          CW_USEDEFAULT,
                                          NULL,NULL, hInstance,NULL);
       if ( !hWnd )
              return FALSE;
       ///
       ShowWindow(hWnd, nShowCmd);
       //
       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)
{
       switch (message) {
       case WM_DESTROY:
              PostQuitMessage(0);
              return 0;
       }
       return DefWindowProc(hWnd, message, wParam, lParam);
}
(4)、使用Ctrl+F5编译运行。
       实验内容二:
(1)、单击菜单File|New,选择projects标签下的Win32 Application,在项目名字编辑框中输入MyApplication,然后选择AddToWorkspace, 然后单击OK。
(2)、单击菜单File|New, 选择Files标签下的C++ Source File, 在名字框种输入MyApplication, 然后确定。
(3)、单击菜单File|New, 选择Files标签下的Resource Script File, 在名字框种输入MyApplication, 然后确定。
(4)、插入资源,略
(5)、输入代码,略
(6)、编译运行。
 
实验考核标准:
1,及格/中:程序1能正确运行。
2,良好:程序2的能正确运行。
3,优:整个程序趣味性较强。
 
附:
完整的实验指导书链接:
 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值