求助 ! API版HelloWorld
来源:互联网 发布:jsp页面js格式化日期 编辑:程序博客网 时间:2024/04/28 14:38
//wnd2.cpp
#include "wnd2.h" //头文件
//全局变量
char szTitle[] = "Easy Hello Program"; //标题条字符串
char szWindowClass[] = "W32"; //窗口类名
char szMenuName[] = "NULL"; //菜单名
/***********************WinMain****************************
功能--初始化及注册窗口类 创建窗口进入消息循环及终止应用程序
参数-- hInstance 当前实例
hPrevInstance 前一实例
lpCmdLine 命令行
nCmdShow 选择显示窗口或图标
返回值--msg.wParam
**********************************************************/
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow)
{
MSG msg; //声明消息结构对象
InitApplication (hInstance); //注册窗口
//初始化
if (!InitInstance (hInstance, nCmdShow) ) //PostQuitMessage(0)结束消息循环
return FALSE;
//消息循环
while (GetMessage( &msg, NULL, 0, 0) )
{
TranslateMessage (&msg); //检索消息
DispatchMessage (&msg); //将信息间接传给函数指针
}
return msg.wParam; //结束消息循环传回PostQuitMessage
}
/**************************InitApplication**********************
功能--注册窗口类
参数--hInstance 当前实例
返回值-- 如果成功 返回一个惟一的整数
如果失败 返回0
***************************************************************/
ATOM InitApplication (HINSTANCE hInstance)
{
WNDCLASS wc; //声明窗口类结构对象
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc = (WNDPROC)WndProc; //回调函数的函数指针
wc.cbClsExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
wc.lpszMenuName = szMenuName;
wc.lpszClassName = szWindowClass;
return RegisterClass(&wc); //注册
}
/******************InitInatance**************************
功能--用来创建窗口
参数--hInstance 当前实例
nCmdShow 选择显示窗口或图标
返回值--创建成功返回非零值 否则返回0
*********************************************************/
BOOL InitInstance (HINSTANCE hInstance, int nCmdShow)
{
HWND hWnd; //声明窗口句柄
//使用CreateWindow函数创建窗口并返回句柄
hWnd = CreateWindow( //填函数参数
szWindowClass, //窗口类名
szTitle, //标题条内容
WS_OVERLAPPEDWINDOW | //显示方式
WS_VSCROLL | WS_HSCROLL, //具有水平和垂直滚动条
CW_USEDEFAULT, //x的起点坐标
CW_USEDEFAULT, //y的起点坐标
CW_USEDEFAULT, //窗口宽度
CW_USEDEFAULT, //窗口高度
NULL, //父窗口句柄
NULL, //窗口菜单句柄
hInstance, //实例句柄
NULL //附加数据
);
if (!hWnd) //判断是否创建成功
return FALSE;
ShowWindow( hWnd, nCmdShow); //创建成功则显示窗口
UpdateWindow( hWnd); //送出WM_PAINT消息
return TRUE; //返回创建成功标志
}
//wnd21.cpp
#include "wnd2.h" //程序窗口程序
/*******************WndProc*******************************
功能--处理主窗口发生的信息
参数--hWnd 消息的窗口句柄
message 消息
wParam MSG消息结构中的域
lParam MSG消息结构中的域
*********************************************************/
LRESULT CALLBACK WndProc(HWND hWnd, UINT message,
WPARAM wParam, LPARAM lParam)
{
PAINTSTRUCT ps;
HDC hdc;
char szHello[] = "Hello"; //输出字符串的内容
switch (message) //筛选消息
{
case WM_PAINT: //主窗口画图消息
hdc = BeginPaint (hWnd, &ps);
TextOut (hdc, 80, 150, szHello, strlen(szHello) );
EndPaint (hWnd, &ps);
break;
case WM_DESTROY: //窗口已经撤销 准备结束程序运行
PostQuitMessage (0); //发送WM_QUIT消息 结束消息循环
break;
default: //处理系统消息
return DefWindowProc( hWnd, message, wParam, lParam);
}
return 0;
}
//wnd2.h
#include<windows.h> //Windows程序的头文件
//全局变量
extern char szTitle[]; //标题条字符串
extern char szWindowClass[]; //窗口类名
//函数原型声明
ATOM InitApplication( HINSTANCE);
BOOL InitInstance (HINSTANCE, int);
LRESULT CALLBACK WndProc( HWND, UINT, WPARAM, LPARAM);
int APIENTRY WinMain( HINSTANCE, HINSTANCE, LPSTR, int);
编译通过,但运行时无结果显示。求助!!
- 求助 ! API版HelloWorld
- akka java api helloworld
- Restful API 简单示例--HelloWorld
- 求助
- 求助
- 求助
- 求助
- 求助
- 求助
- 求助!!
- 求助!!
- 求助
- 求助
- 求助
- 求助
- 求助
- 求助
- 求助
- list,set,map,数组间的相互转换
- Qt4.6.0在visual studio 2005中的配置过程详解
- QQ输入账号缓慢 无法登陆 错误码0x00060008
- 串口调试和自动测试工具
- 对使用sys.dm_exec_query_stats动态视图者的警告(A Warning to Those Using sys.dm_exec_query_stats)
- 求助 ! API版HelloWorld
- 诗剑书生的独白
- 批处理取消文件夹隐藏属性
- 在线媒体播放
- MIT技术评论:2010十大新兴技术
- 2010.04.26 IRC 基本命令篇
- 20100426
- FX1S控制步进电机的实例(图与程序)
- CentOS 启动MySQL的相关方式