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后面其实也是调用的SetWindowTextSetWindowText调用的是
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变量),的主要内容,如果未能解决你的问题,请参考以下文章