Visual c++ 在vc+;中出现窗口后,是否可以更改对话框中的静态文本+;mfc应用程序?

Visual c++ 在vc+;中出现窗口后,是否可以更改对话框中的静态文本+;mfc应用程序?,visual-c++,mfc,Visual C++,Mfc,我使用OnInitDialog初始化对话框,并将静态文本初始化为“加载” 现在我有一个函数,在它返回静态文本后,应该从“加载”更改为“初始化” 这可能吗 即使在对话框出现后,文本也可以更改吗?是的,当然可以。但您必须将其ID更改为IDC_STATIC以外的其他内容。然后,您可以像其他控件一样使用它 就我个人而言,我会从中创建一个控制变量,然后 m_MyStatic.SetWindowText(L“已初始化”) (不太可能。我会将字符串存储在STRINGTABLE中,然后从那里加载它,相信你明白了

我使用OnInitDialog初始化对话框,并将静态文本初始化为“加载”

现在我有一个函数,在它返回静态文本后,应该从“加载”更改为“初始化”

这可能吗


即使在对话框出现后,文本也可以更改吗?

是的,当然可以。但您必须将其ID更改为IDC_STATIC以外的其他内容。然后,您可以像其他控件一样使用它

就我个人而言,我会从中创建一个控制变量,然后

m_MyStatic.SetWindowText(L“已初始化”)


(不太可能。我会将字符串存储在STRINGTABLE中,然后从那里加载它,相信你明白了)

我可以用哪种方法调用此语句。对话框仅在OnInitDialog函数返回时打开,我在哪里可以使用此语句,因为我的程序现在没有正在运行的方法。无论您想在哪里更改文本。就像初始化您正在初始化的函数成功返回后一样,当OnInitDialog返回时,我的程序中没有任何正在运行的方法,因为它是从调用OnInitDialog开始的。我有一些其他的按钮点击方法,“初始化”是什么意思?你在初始化什么?如果只是对话框,那么更改文本是没有意义的,因为对话框在您退出OnInitDialog之前不会显示,因此如果您看到对话框,它将被初始化。如果您想初始化某些内容,但在初始化过程中显示对话框,则需要另一个线程。当线程通知它已成功完成时,您可以更改文本。我刚才说,作为一个示例,实际上我正在搜索所有COM端口以查找我的设备,如果我在OnInitDialog中调用它,这将花费大量时间,并且我的对话框将不会加载,因为OnInitDialog方法未返回,所以我将其作为单独的线程调用,但是我想在线程返回时更改对话框中的静态文本。