Winapi 如何在回调之外更新win32 dialogItem?
我有一个这样创建的对话框:Winapi 如何在回调之外更新win32 dialogItem?,winapi,Winapi,我有一个这样创建的对话框: CreateDialog(GetModuleHandle(NULL), MAKEINTRESOURCE(IDD_NETWORKCONFIG), hWnd, Network); 该对话框有一些按钮、文本框等。。。。一切正常。 我可以根据回调外部的输入(在本例中为读取的数据包数)更新文本框中的文本,并将回调中的信息发送回主循环 这一切都有效,除了 对话框仅在回调发生时更新,这需要我移动鼠标。因此,如果我移动鼠标,我会看到数据包的数量不断更新,但如果我保持
CreateDialog(GetModuleHandle(NULL), MAKEINTRESOURCE(IDD_NETWORKCONFIG),
hWnd, Network);
该对话框有一些按钮、文本框等。。。。一切正常。
我可以根据回调外部的输入(在本例中为读取的数据包数)更新文本框中的文本,并将回调中的信息发送回主循环
这一切都有效,除了
对话框仅在回调发生时更新,这需要我移动鼠标。因此,如果我移动鼠标,我会看到数据包的数量不断更新,但如果我保持静止,则不会。如果我保持静止,然后移动,数字会相应地跳跃
那么,我怎样才能:
HWND h(GetDialogHandle(IDD_NETWORKCONFIG); // this is made up function, tried many
Static_SetText(GetDlgItem( h, IDC_EDIT3 ), (LPSTR)std::to_string(long long(NC->mNumSent)).c_str() );
谢谢。CreateDialog的返回值是对话框的窗口句柄。你不能用它来代替示例代码中的
h
?好主意。这几乎奏效了。有三个文本框,ID_EDIT3、ID_EDIT4、ID_EDIT5。ID_EDIT3现在像冠军一样更新。使用EDIT4和edit5的完全相同的静态_SetText行不起作用。它只有在我点击这些文本框时才会更新。很奇怪。除了名称之外,资源之间没有区别。有什么想法吗?调试器显示发送到它的数据为非零。更不用说上面。。。。。清理代码。它起作用了。谢谢