使用 windows.h,在鼠标单击 (C++) 时从聊天框中删除文本
Using windows.h, remove text from chat box upon mouse click (C++)
抱歉,标题有点模糊。
基本上,我正在用C++制作一个聊天程序并使用windows.h API。我的大部分程序都在工作,只是小东西无法正常工作。我有一个用户在其中键入他们想说的内容的框,在该框中,它以斜体显示"在此处输入文本"。我想设置它,以便当用户单击该框时,这些单词消失,用户可以自由键入。按照现在的设置,如果他们在框中单击,它会转到单词"here"的末尾,他们必须手动删除单词。
有没有简单的方法可以做到这一点?可能在创建框或文本时?还是我必须添加自己的逻辑才能完成此操作?
附上我创建框和设置字体的代码:
箱:
hwSendEdit = CreateWindowEx(WS_EX_CLIENTEDGE, "Edit", "Enter Text Here",
WS_CHILD|WS_VISIBLE, 2, 215, 790, 22, hwMain, 0, hInst, 0);
字体:
chFont = CreateFont(12, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Tahoma");
SendMessage(hwSendEdit, WM_SETFONT, reinterpret_cast<WPARAM>(chFont), 0);
感谢您提供的任何帮助。
您需要响应控件的WM_ACTIVATE
消息。它在 wParam
中有一个参数,告诉您控件是被激活还是被停用。如果它正在激活,请检查窗口文本以查看它是否等于您的提示字符串;如果是这样,请将字体设置回正常并使用SetWindowText
清除文本。如果它被停用,请使用GetWindowText
查看文本是否为空,如果是,请将字体设置回斜体并替换提示字符串。
相关文章:
- 文本文件中的单词链表
- 从命令行c++发送文本文件名
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 2D数组来自文本输入,中间有空格
- 如何将内容数组写入文本文件?
- 无法通过空白将文本文件行分隔为矢量
- 我正在使用嵌套的while循环来解析具有多行的文本文件,但由于某种原因,它只通过第一行,我不知道为什么
- C++将文本文件中的数据读取到结构数组中
- 在指针的帮助下,文本文件中单词的频率
- 将字符指针十六进制转换为字符串并保存在文本文件C++中
- 将值从二维数组输出到文本文件
- 如何在c++中从文本文件中逐行读取整数
- 如何创建一个QTableWidgetItem,用长文本右对齐,左边有省略号
- 从文本文件中读取时钟时间和事件时间并进行处理
- 如何从文本文件中读取值和数组
- 如何在C++中确定文本文件中的元素是字符还是数字
- 如何根据单词在文本中出现的概率输出单词
- 如何在C++中用std::cout正确显示带十六进制的字符串文本
- C++试图读取一个文件并输出到另一个文本文件
- 使用 windows.h,在鼠标单击 (C++) 时从聊天框中删除文本