MFC_1——采用windows API函数来生成一个窗口显示helloword

//采用windows API函数来生成一个窗口显示helloword:
#include <windows.h>    

LRESULT CALLBACK myWndProc(HWND hWindow, UINT msg, WPARAM wParam, LPARAM lParam);   

//进入WinMain函数
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
{
	const static TCHAR appName[] = TEXT("Hello world"); 

	//初始化WNDCLASSEX,调用RegisterClassEx函数注册窗口类
	WNDCLASSEX myWin;
	myWin.cbSize = sizeof(myWin);
	myWin.style = CS_HREDRAW | CS_VREDRAW;
	myWin.lpfnWndProc = myWndProc;
	myWin.cbClsExtra = 0;
	myWin.cbWndExtra = 0;
	myWin.hInstance = hInstance;
	myWin.hIcon = 0;
	myWin.hIconSm  = 0;
	myWin.hCursor = 0;
	myWin.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
	myWin.lpszMenuName = 0;
	myWin.lpszClassName = appName;
	//Register ,调用RegisterClassEx函数注册窗口类
	if (!RegisterClassEx(&myWin)) return 0;
	const HWND hWindow = CreateWindow(
		appName,
		appName,
		WS_OVERLAPPEDWINDOW,
		CW_USEDEFAULT,
		CW_USEDEFAULT,
		CW_USEDEFAULT,
		CW_USEDEFAULT,
		0,
		0,
		hInstance,
		0);
	//调用ShowWindow和UpdateWindow函数显示并更新窗口
	/*进入消息循环。关于消息循环再简单说下,Windows应用程序是消息驱动的,
	系统或用户让应用程序进行某项操作或完成某个任务时会发送消息,
	进入程序的消息队列,然后消息循环会将消息队列中的消息取出,
	交予相应的窗口过程处理,此程序的窗口过程函数就是myWndProc函数,
	窗口过程函数处理完消息就完成了某项操作或任务。
	本例是要显示“HELLO WORLD”字符串,UpdateWindow函数会发送WM_PAINT消息,
	但是此消息不经过消息队列而是直接送到窗口过程处理,
	在窗口过程函数中最终绘制了“HELLO WORLD”字符串。*/
	ShowWindow(hWindow,iCmdShow);
	UpdateWindow(hWindow);
	{
		MSG msg;
		while(GetMessage(&msg,0,0,0))
		{
			TranslateMessage(&msg);
			DispatchMessage(&msg);
		}
		return (int)msg.wParam;
	}
}      

LRESULT CALLBACK myWndProc(HWND hWindow, UINT msg, WPARAM wParam, LPARAM lParam)
{
	if (msg==WM_PAINT)
	{
		PAINTSTRUCT ps;
		const HDC hDC = BeginPaint(hWindow,&ps);
		RECT rect;
		GetClientRect(hWindow,&rect);
		DrawText(hDC,TEXT("HELLO WORLD"),-1,&rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER);
		EndPaint(hWindow,&ps);
		return 0;
	}
	else if (msg==WM_DESTROY)
	{
		PostQuitMessage(0);
		return 0;
	}
	return DefWindowProc(hWindow,msg,wParam,lParam);
}

  

时间: 2025-02-01 04:43:23

MFC_1——采用windows API函数来生成一个窗口显示helloword的相关文章

WINDOWS API函数说明

Windows API函数大全,从事软件开发的朋友可以参考下 1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创建同一个网络资源的连接 WNetCancelConnection 结束一个网络连接 WNetCancelConnection2 结束一个网络连接 WNetCloseEnum 结束一次枚举操作 WNetConnectionDialog 启动一个

使用windows API函数获取目录下所有文件名---目录下文件的扫描和处理

直接上代码 // test_max.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <windows.h> #include <Shlwapi.h> #include <iostream> #include <string> #include <vector> #pragma comment(lib,"shlwapi.lib") //注意放置的位置

VBS调用windows api函数(postmessage)实现后台发送按键脚本

'=========================================================================='' VBScript Source File -- Created with SAPIEN Technologies PrimalScript 4.0'' NAME: '' AUTHOR: Microsoft , Microsoft' DATE : 2014/8/10'' COMMENT: ''===================定义变量,注册

PYTHON练习题 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数。

Python 练习 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数,如果大于预设的数,屏幕显示"太大了,请重新输入"如果小于预设的数,屏幕显示"太小了,请重新输入"如此循环,直到猜中,显示"恭喜你,猜中了!共猜了N次"N为用户猜测次数. 答案: import random def guess_number(): true_num = random.randint(1, 100) user_n

Python调用Windows API函数编写录音机和音乐播放器

功能描述: 1)使用tkinter设计程序界面: 2)调用Windows API函数实现录音机和音乐播放器. . 参考代码: ? 运行界面: ? 原文地址:https://www.cnblogs.com/7758520lzy/p/12149931.html

WINDOWS API 函数(超长,值得学习)

一.隐藏和显示光标 函数: int ShowCursor ( BOOL bShow );  参数 bshow,为布尔型,bShow的值为False时隐藏光标,为True时显示光标:该函数的返回值为整型,为鼠标隐藏或显示的指数器:返回值大于等于0时显示光标,否则隐藏鼠标:如果安装了鼠标初值为0. 二.交换鼠标左右键和恢复 函数:BOOL SwapMouseButton ( BOOL fSwap );  参数 fSwap,为布尔型,TRUE表示交换鼠标左右键,FALSE表示恢复系统默认左右手习惯:返

简要的Windows API函数大全

1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创建同一个网络资源的连接 WNetCancelConnection 结束一个网络连接 WNetCancelConnection2 结束一个网络连接 WNetCloseEnum 结束一次枚举操作 WNetConnectionDialog 启动一个标准对话框,以便建立同网络资源的连接 WNetDisconne

Delphi使用Windows API函数AnimateWindow实现窗体特效

{**********************************************************************API函数 AnimateWindow 使用:函数功能:窗体显示和隐藏时产生特殊的动画效果:可以产生两种类型的动画效果:          滚动动画 和 滑动动画函数原型:BOOL AnimateWindow(HWND hWnd, DWORD dwTime, DWORD dwFlags)参数说明:hWnd 指定产生动画效果的窗体的句柄:          

windows界面程序设计,设置一个窗口始终在屏幕最前,SetWindowPos函数

有时这种需求还是很必须的,比如现在做的一个登录验证系统,如果在windows登录界面点击到窗口外面,那窗口就会永远隐藏掉没法再启用了.这种情况必须设置该窗口一直在最前. 使用函数SetWindowPos. 例如: SetWindowPos(hwnd,HWND_TOPMOST,0,0,0,0,SWP_NOSIZE); 首先第一个参数是窗口句柄. 之后是设置窗口层级: 然后设置窗口坐标和新的高度宽度. 最后一个参数: 这个函数的使用的位置,就是在CreateWindow函数之后,立即调用即可. hW