win32项目的编写


Win32:表示Windows 32 位系统。

MFC(Microsoft Foundation Class)类库(C++)。

Win32(C语言)函数库。

函数原型:

MessageBox(HWND hWnd,LPCTSTR lpText,LPCTSTR lpCaption,UINT uType);

hWnd:
消息框的拥有窗此参数口。如果为NULL,则 消息框没有拥有窗口。
lpText:
消息框的内容。如果使用了Unicode库,则把文本变成:
1
TEXT( /*sometext*/ )
lpCaption:
消息框的标题。如果使用了Unicode库,则把文本变成:
1
TEXT( /*sometext*/ )
uType:
指定一个决定对话框的内容和行为的位标志集。此参数可以为下列标志组中标志的组合。指定下列标志中的一个来显示消息框中的按钮以及图标。

uType参数

按钮:
按钮参数
含义
MB_OK
默认值。有一个确认按钮在里面。
MB_YESNO
有是和否在里面。
MB_ABORTRETRYIGNORE
有Abort(放弃),Retry(重试)和Ignore(跳过)
MB_YESNOCANCEL
消息框含有三个按钮:Yes,No和Cancel
MB_RETRYCANCEL
有Retry(重试)和Cancel(取消)
MB_OKCANCEL
消息框含有两个按钮:OK和Cancel

图标:
参数 含义
MB_ICONEXCLAMATION
一个惊叹号出现在消息框
MB_ICONWARNING
一个惊叹号出现在消息框
MB_ICONINFORMATION
一个圆圈中小写字母i组成的图标出现在消息框
MB_ICONASTERISK
一个圆圈中小写字母i组成的图标出现在消息框
MB_ICONQUESTION
一个问题标记图标出现在消息框
MB_ICONSTOP
一个停止消息图标出现在消息框
MB_ICONERROR
一个停止消息图标出现在消息框
MB_ICONHAND
一个停止消息图标出现在消息框

返回值

ID
选择了……
IDOK(1)
OK
IDCANCEL(2)
CANCEL
IDABORT(3)
ABORT
IDRETRY(4)
RETRY
IDIGNORE(5)
IGNORE
IDYES(6)
YES
IDNO(7)
NO
FindWindow这个函数检索处理顶级窗口的类名和窗口名称匹配指定的字符串。这个函数不搜索子窗口

HWND FindWindow(LPCSTR lpClassName,LPCSTR lpWindowName);

lpClassName

指向一个以NULL字符结尾的、用来指定类名的字符串或一个可以确定类名字符串的原子。如果这个参数是一个原子,那么它必须是一个在调用此函数前已经通过 GlobalAddAtom函数创建好的 全局原子。这个原子(一个16bit的值),必须被放置在lpClassName的低位 字节中,lpClassName的高位字节置零。
如果该参数为null时,将会寻找任何与lpWindowName参数匹配的窗口。
lpWindowName
指向一个以NULL字符结尾的、用来指定窗口名(即窗口标题)的字符串。如果此参数为NULL,则匹配所有窗口名

#include <Windows.h>
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{
	//Sleep(1000);
	//MessageBox(NULL,TEXT("你好"),TEXT("窗体"),MB_OK);
	HWND hWnd=FindWindow(NULL,L"hello.txt");
	int n=MessageBox(hWnd,L"你好",L"窗体",MB_YESNO);//MB_OKCANCEL
	/*switch (n)
	{
	case 1:
		MessageBox(NULL,TEXT("你点击了确定按钮"),TEXT("结果"),MB_OK);
		break;
	case 2:
		MessageBox(NULL,TEXT("你点击了取消按钮"),TEXT("结果"),MB_OK);
		break;
	case 6:
		MessageBox(NULL,TEXT("你点击了【是】按钮"),TEXT("结果"),MB_OK);
		break;
	case 7:
		MessageBox(NULL,TEXT("你点击了【否】按钮"),TEXT("结果"),MB_OK);
		break;
	}*/
	switch (n)
	{
	case IDOK:
		MessageBox(NULL,TEXT("你点击了确定按钮"),TEXT("结果"),MB_OK);
		break;
	case IDCANCEL:
		MessageBox(NULL,TEXT("你点击了取消按钮"),TEXT("结果"),MB_OK);
		break;
	case 6:
		MessageBox(NULL,TEXT("你点击了【是】按钮"),TEXT("结果"),MB_OK);
		break;
	case 7:
		MessageBox(NULL,TEXT("你点击了【否】按钮"),TEXT("结果"),MB_OK);
		break;
	}
	return 0;
}

注释:

#define WINAPI      __stdcall

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用C++代码封装的win32操作类, 与MFC相似,对于学习SDK与C++是巨好的参考 Tutorials Menu of tutorials Tutorial 1: The Simplest Window Tutorial 2: Using Classes and Inheritance Tutorial 3: Using Messages to Create a Scribble Window Tutorial 4: Repainting the Window Tutorial 5: Wrapping a Frame around our Scribble Window Tutorial 6: Customising Window Creation Tutorial 7: Customising the Toolbar Tutorial 8: Loading and Saving Files Tutorial 9: Printing Tutorial 10: Finishing Touches Tutorial 1: The Simplest Window The following code uses Win32++ to create a window. This is all the code you need (in combination with Win32++) to create and display a simple window. Note that in order to add the Win32++ code to our program, we use an #include statement as shown below. #include "../Win32++/Wincore.h" INT WINAPI WinMain(HINSTANCE, HINSTANCE, LPTSTR, int) { //Start Win32++ CWinApp MyApp; //Create a CWnd object CWnd MyWindow; //Create (and display) the window MyWindow.Create(); //Run the application return MyApp.Run(); } This program has four key steps: Start Win32++. We do this here by creating a CWinApp object called MyApp. Create a CWnd object called MyWindow. Create a default window by calling the Create function. Start the message loop, by calling the Run function. If you compile and run this program, you'll find that the application doesn't end when the window is closed. This is behaviour is normal. An illustration of how to use messages to control the windows behaviour (including closing the application) will be left until tutorial 3.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值