VC MFC对话框有多个Edit控件,只更新其中一个Edit控件的显示(已设置对应的int变量),

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VC MFC对话框有多个Edit控件,只更新其中一个Edit控件的显示(已设置对应的int变量),相关的知识,希望对你有一定的参考价值。

VC MFC对话框有多个Edit控件,只更新其中一个Edit控件的显示(已设置对应的int变量),并且不影响其他Edit控件的输入,有没有比较好的方法? 1,不想使用SetWindowText函数 2,不想使用UpdateData(TRUE)和UpdateData(FALSE),因为这样会把其他控件的值更新进去,并且会比较耗资源。 求指教,谢谢!

那只有SetWindowText等类似的API,SetDlgItemText和SetDlgItemInt后面其实也是调用的SetWindowText

SetWindowText调用的是
SendMessage(hWnd,WM_SETTEXT,0,text);

SetWindowText的源码(from reactos)
BOOL WINAPI
SetWindowTextW(HWND hWnd,
LPCWSTR lpString)

PWND pwnd;

pwnd = ValidateHwnd(hWnd);
if (pwnd)

if (!TestWindowProcess(pwnd))

/* do not send WM_GETTEXT messages to other processes */
return (DefWindowProcW(hWnd, WM_SETTEXT, 0, (LPARAM)lpString) >= 0);

return (SendMessageW(hWnd, WM_SETTEXT, 0, (LPARAM)lpString) >= 0);

return FALSE;
参考技术A 可以写在初始化函数里追问

我需要不断更新这一个控件的值,并且不影响别的控件的输入

追答

那你可以写个定时器,定时自动刷新

追问

如何 只 刷新这一个控件?

追答

汗...............把数据显示到那个控件里不就行了

追问

唉,你没有明白我的意思

追答

你用过定时器吗

追问

用过

我是想问怎么把数据显示到控件里?除了我提到的两种方法

追答

DDX_TEXT:
.h文件声明:CString m_flashplayerversion;
.cpp调用: DDX_Text(pDX,IDC_STATIC_FlashPlayerVersion,m_flashplayerversion);

SetDlgItemText

VC++:如何在 MFC 对话框的 propertySheet 顶部显示控件

【中文标题】VC++:如何在 MFC 对话框的 propertySheet 顶部显示控件【英文标题】:VC++: How to display a control on the top of the propertySheet in MFC diaolg 【发布时间】:2015-12-28 06:41:59 【问题描述】:

全部

我对 VC++ 中的属性表有疑问。我有 2 个或更多 mfc 对话框,我通过属性表将这些对话框合并为一个对话框作为选项卡控件。我可以在属性表的顶部放置一个控件吗?有可能吗?

提前致谢。

【问题讨论】:

【参考方案1】:

如果您使用CPropertySheet,您可以在OnCreate 处理程序中添加您的控件(如MSDN 所述):

int CMyPropertySheet::OnCreate(LPCREATESTRUCT lpCreateStruct)

    int ret = CPropertySheet::OnCreate(lpCreateStruct);
    if(ret != 0)
        return ret;
    CRect rect;
    GetWindowRect(rect);
    // ... adjust rect here...
    MoveWindow(rect);
    // ... move tab control down here ...
    // ... add your controls above the tabctrl here ...

【讨论】:

以上是关于VC MFC对话框有多个Edit控件,只更新其中一个Edit控件的显示(已设置对应的int变量),的主要内容,如果未能解决你的问题,请参考以下文章

VC MFC 框架中 添加按钮控件

VC/MFC 对话框工程中 主窗体与子窗体之间如何传值?

VC 怎么动态改变控件大小

MFC 中关于Edit控件问题

VC++(MFC)中动态创建和管理按钮控件,怎么做?

VC++:如何在 MFC 对话框的 propertySheet 顶部显示控件