0

应该是微不足道的。. . 通过 VS 资源编辑器进行编辑时......工具/对象列表仅显示“静态文本”,并且创建事件处理程序向导的所有字段和 [next] 按钮均变暗(禁用)。

我有一个可爱的关于框——一切正常——但不是要显示的静态文本字段——

我想要/需要显示当前运行时状态信息的几行(字符串).....

我只是非常了解 Visual Studio(我使用的是 2008)。. .

如果有人有一个简单的例子——这就是我所需要的。

提前致谢。

最好的问候,凯文·韦特

4

3 回答 3

2

如果您在对话框中放置一个静态文本框,您可以在运行时将其文本设置为您想要的任何内容。首先需要获取文本框的窗口句柄:

HWND hwndText = GetDlgItem(hwndDialog, IDC_MYTEXT);

然后您可以将新文本设置到其中:

SetWindowText(hwndText, L"Hi mom, this is my first text box!");

静态文本并不意味着更改,因此当您更改它时,Windows 并不总是做正确的事情。您需要告诉它擦除并重新绘制,以便正确显示新文本。

InvalidateRect(hwndText, NULL, true);
于 2012-02-08T16:02:33.437 回答
0

如果要显示多行文本,可以使用 EditBox 控件并将多行属性设置为 True。

要将数据传递给 about 对话框,您需要在创建对话框时(在调用 DoModal 之前)将这些字符串传递给对话框;并将字符串添加到 aboutbox OnInitDialog 中的编辑框中。

如果您需要在 about 对话框打开时实时更新文本,您可能必须添加一个线程,该线程将从某处获取字符串,并且 UI 将使用这些新字符串进行更新。

祝你好运。

于 2012-02-08T16:02:18.623 回答
0

添加一个空的静态文本,然后设置它的Text属性怎么样?

我刚刚在 Visual Studio C++ Express 中创建了一个空的 Windows 窗体应用程序,并将一个“标签”控件拖到窗体上。在表单Load函数中,文本可以这样设置:

this->label1->Text = "Hello World";

如果您想要更大的文本,可以使用相同的方法。只需使用多行文本框即可。

于 2012-02-08T15:38:32.220 回答