21xrx.com
2024-12-23 01:43:48 Monday
登录
文章检索 我的文章 写文章
C++实现弹出输入框并读取框内文本
2023-07-07 08:31:51 深夜i     --     --
C++ 弹出输入框 读取文本

在C++编程中,有时需要弹出一个输入框,让用户输入一些信息,然后读取这些信息进行处理。本文将介绍如何实现这个功能。

首先,我们需要引入Windows头文件:


#include <Windows.h>

接着,定义一个字符串变量,用于存储用户输入的文本:


std::string inputText;

然后,调用Windows API函数MessageBox,弹出输入框:


HWND hwnd = GetDesktopWindow();

int ret = MessageBox(hwnd, "请输入文本:", "输入框", MB_OKCANCEL | MB_ICONINFORMATION);

其中,GetDesktopWindow获取当前桌面窗口的句柄,"请输入文本:"是提示文本,"输入框"是标题,MB_OKCANCEL | MB_ICONINFORMATION表示弹出框的样式。

如果用户点击了“确定”按钮,就可以读取输入框中的文本了。我们可以用Windows API函数GetDlgItemText来实现:


if (ret == IDOK)

{

  HWND editHwnd = GetDlgItem(GetActiveWindow(), IDOK);

  char buffer[256];

  GetWindowText(editHwnd, buffer, sizeof(buffer));

  inputText = buffer;

}

其中,GetActiveWindow获取当前活动窗口的句柄,GetDlgItem获取输入框的句柄,GetWindowText将输入框中的文本读取到缓冲区中,最后把缓冲区中的内容赋值给输入文本变量inputText。

完整的代码如下:


#include <Windows.h>

#include <string>

int main()

{

  std::string inputText;

  HWND hwnd = GetDesktopWindow();

  int ret = MessageBox(hwnd, "请输入文本:", "输入框", MB_OKCANCEL | MB_ICONINFORMATION);

  if (ret == IDOK)

  {

    HWND editHwnd = GetDlgItem(GetActiveWindow(), IDOK);

    char buffer[256];

    GetWindowText(editHwnd, buffer, sizeof(buffer));

    inputText = buffer;

  }

  return 0;

}

通过使用以上代码,我们就可以实现在C++中弹出一个输入框并读取框中文本的功能。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复