Win32API提供了一系列的函数来操作控件

高频常用控件函数:

类型说明
GetDlgItem
根据控件ID,取控件句柄
GetDlgItemText
根据控件ID,取控件文本
GetDlgItemInt根据控件ID,取控件的数字 (相当于取文本 然后转为数字)
GetDlgCtrlID根据 句柄  取控件ID
SetDlgItemText根据控件ID,设置控件文本
SetDlgItemInt根据控件ID,设置控件数字(相当于把数字转为文本.再设置上去)
SendDlgItemMessage向控件发送消息

高频常用窗口函数

类型说明
EnableWindow启用或禁用鼠标和键盘输入到指定的窗口或控件
FindWindow检索顶级窗口的句柄,该窗口的类名和窗口名称与指定的字符串匹配。
SetWindowText更改指定窗口标题栏的文本(如果有)
GetWindowText获取指定窗口标题栏的文本(如果有)
GetWindowRect检索指定窗口的边界矩形的尺寸
GetClientRect检索指定窗口的客户区矩形的尺寸
SetFocus置焦点
MoveWindow更改指定窗口的位置和尺寸
GetActiveWindow检索连接到调用线程的消息队列的活动窗口的窗口句柄。

高频常用控件函数例子(下面是 窗口过程中的一个分支):

case WM_CREATE:
{
	LPCREATESTRUCT pcs = (LPCREATESTRUCT)LParam;

	//按钮的创建
	HWND h1 = CreateWindow(L"button", L"这是一个按钮", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, 300, 330, 100, 25, hwnd, (HMENU)10001, pcs->hInstance, NULL);
	HWND h2 = CreateWindow(L"edit", L"11111111", WS_CHILD | WS_BORDER | WS_VISIBLE | ES_MULTILINE, 10, 10, 400, 150, hwnd, (HMENU)10002, pcs->hInstance, NULL);
	HWND h3 = CreateWindow(L"edit", L"222222222", WS_CHILD | WS_BORDER | WS_VISIBLE | ES_MULTILINE, 10, 170, 400, 150, hwnd, (HMENU)10003, pcs->hInstance, NULL);


	//GetDlgItem 用法   根据控件ID,取控件句柄
	HWND hBut = GetDlgItem(hwnd, 10001); //第一个参数是所在窗口的句柄

	//GetDlgItemText 用法  根据控件ID,取控件文本
	TCHAR buf[64] = {0};
	GetDlgItemText(hwnd, 10001, buf, 64);
	OutputDebugString(buf);//调试输出

	//GetDlgItemInt 用法   根据控件ID,取控件的数字 (相当于取文本 然后转为数字)
	BOOL 转换是否成功 = false;
	int v1 = GetDlgItemInt(hwnd, 10001, &转换是否成功, true);

	//GetDlgCtrlID 用法    根据 句柄  取控件ID
	UINT id = GetDlgCtrlID(h2); 

	//SetDlgItemText 用法  根据控件ID,设置控件文本
	SetDlgItemText(hwnd, 10003, L"这是SetDlgItemText设置上去的文本");

	//SetDlgItemInt 根据控件ID,设置控件数字(相当于把数字转为文本.再设置上去)
	SetDlgItemInt(hwnd, 10001, 666, true);  //true代表有符号   一般情况写 true

	//SendDlgItemMessage  向控件发送消息
	SendDlgItemMessage(
		hwnd, //控件父窗口
		10002,//控件id
		WM_SETTEXT,//要发送的消息
		0,//额外的消息特定信息
		(LPARAM)L"这是SendDlgItemMessage发送的消息"//额外的消息特定信息
		);

	break;
}