Mfc 如何在对话框外部更新控件?

Mfc 如何在对话框外部更新控件?,mfc,controls,Mfc,Controls,例如,在MFC程序中,我有我的主应用程序和一个“类”。如果我想从该“类”更新位于主应用程序上的控件(例如,列表框),我该怎么办?您的类可以设计为触发主应用程序可以侦听的事件。然后,可以调用侦听器/事件处理程序/委托来处理事件并更新列表框。通常,大多数事件格式传递发送方的引用(在本例中为“类”)以及包含事件参数的对象。这些参数可用于将要添加到列表框的项目列表传递给您。您的类可设计为触发主应用程序可侦听的事件。然后,可以调用侦听器/事件处理程序/委托来处理事件并更新列表框。通常,大多数事件格式传递发

例如,在MFC程序中,我有我的主应用程序和一个“类”。如果我想从该“类”更新位于主应用程序上的控件(例如,列表框),我该怎么办?

您的类可以设计为触发主应用程序可以侦听的事件。然后,可以调用侦听器/事件处理程序/委托来处理事件并更新列表框。通常,大多数事件格式传递发送方的引用(在本例中为“类”)以及包含事件参数的对象。这些参数可用于将要添加到列表框的项目列表传递给您。

您的类可设计为触发主应用程序可侦听的事件。然后,可以调用侦听器/事件处理程序/委托来处理事件并更新列表框。通常,大多数事件格式传递发送方的引用(在本例中为“类”)以及包含事件参数的对象。这些参数可用于将要添加到列表框中的项目列表传递。

如果类中有对话框对象的句柄,则可以使用获取列表控件对象。

如果类中有对话框对象的句柄,然后可以使用获取列表控件对象。

最简单的方法是将应用程序窗体/窗口中的listview公开给使用它的类。您可以通过将listview对象(或父窗口)传递给类构造函数,或将其存储在类可访问的静态变量中来实现这一点

为了更好地封装,您可以在类可以调用的应用程序中放置一个方法,例如“AddItemToListBox()”。这允许应用程序对象控制您访问列表框的方式。同样,您可以作为静态方法来执行此操作,或者将主程序对象的“this”指针传递到类构造函数中

i、 e


最简单的方法是将listview从应用程序窗体/窗口公开给使用它的类。您可以通过将listview对象(或父窗口)传递给类构造函数,或将其存储在类可访问的静态变量中来实现这一点

为了更好地封装,您可以在类可以调用的应用程序中放置一个方法,例如“AddItemToListBox()”。这允许应用程序对象控制您访问列表框的方式。同样,您可以作为静态方法来执行此操作,或者将主程序对象的“this”指针传递到类构造函数中

i、 e


这是一个对我有用的例子

theApp.m_pMainWnd->GetDlgItem(IDC_BUTTON6)->SetWindowTextW(L"Run Auto Test");

这是一个对我有用的例子

theApp.m_pMainWnd->GetDlgItem(IDC_BUTTON6)->SetWindowTextW(L"Run Auto Test");

我该怎么做?抱歉,我只是个初学者。Soviut用的是C语言,不是MFC。Jason是对的。我正在尽我最大的努力为您提供如何在两个独立实体之间进行通信的要点。在C#/ActionScript/Java世界中,这通常意味着使用自定义事件。我该怎么做?抱歉,我只是个初学者。Soviut用的是C语言,不是MFC。Jason是对的。我正在尽我最大的努力为您提供如何在两个独立实体之间进行通信的要点。在C#/ActionScript/Java世界中,这通常意味着使用自定义事件。这只适用于对话框中的控件,而不适用于主窗口。但是MSDN文档说第一个参数(窗口句柄)不需要是对话框。这仅适用于对话框中的控件,而不适用于主窗口中的控件。但是MSDN文档说明第一个参数(窗口句柄)不需要是对话框。