c++ - GetWindowTextA 无法获取 ComboBox MFC C++ 的文本
问题描述
我GetWindowTextA
用来获取 ComboBox 的文本,但""
即使hwnd
是正确的,它也会是一个空字符串。
使用从其他类获取文本时没有问题GetWindowTextA
,但它不适用于该类ComboBox
。是否与此相关,需要其他功能才能从 ComboBox 获取文本?
谢谢。
编辑:
组合框来自其他应用程序窗口中的控件
#include<windows.h>
#include<iostream>
using namespace std;
int main() {
POINT pt;
Sleep(3000);
GetCursorPos(&pt);
HWND hWnd = WindowFromPoint(pt);
char class_name[100];
char title[100];
GetClassNameA(hWnd,class_name, sizeof(class_name));
GetWindowTextA(hWnd,title,sizeof(title));
cout <<"Window name : "<<title<<endl;
cout <<"Class name : "<<class_name<<endl;
return 0;
}
解决方案
如果您已将 CComboBox 变量添加到对话框类,请使用“添加控件变量”向导,如此处所述添加成员变量,您可以轻松使用 CComboBox 方法检索所选组合项的文本,如下图所示:
void CMFCDlgAppDlg::OnBnClickedButton1()
{
CString itemText;
m_Combo.GetLBText(m_Combo.GetCurSel(), itemText);
AfxMessageBox(itemText);
}
推荐阅读
- node.js - EBICS 3.0 架构 H005 [EBICS_INVALID_XML] 根据 EBICS XML 架构,XML 无效
- reactjs - React:在渲染之前生成对象数组以避免更改不受控制的输入错误
- reactjs - React js更改字段指定属性名称
- extjs - 如何默认展开 Rowwidget
- performance - 类型不稳定性会严重影响性能怎么办?
- php - 使用 ODBC 和 PHP 的 SQL Server INSERT 查询:奇怪的语法错误
- wordpress - 如何在 Woocommerce 中更改 myadress.php
- sitecore - 以编程方式编辑 sitecore 项目的字段而不更新它的“更新”字段
- r - 根据条件求和或代入
- html - 如何在CSS中向右定位并使项目低于一个和另一个