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; }
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。