一个简单问题,100分送上

ciappcia 2008-11-05 04:13:51
vc里面我要在在对话框上加入一个编辑框,定时显示我传入的数值(这个数值在程序里面产生),谁能告诉我怎么实现吗?详细的流程,不好意思,这个方面我是新手,刚刚学习,清大家帮帮我
...全文
261 31 打赏 收藏 转发到动态 举报
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
kdy88120 2008-11-10
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 yyyapple 的回复:]
DDX_ 把控件与数值绑定

设置一个计时器,时间到就UpdateData(FALSE);
[/Quote]
就是一个UpdateData(1or0)的问题
1的时候是更新变量
0是更新编辑框内容
lzh9955 2008-11-09
  • 打赏
  • 举报
回复
期待中!!!
肥多罗 2008-11-05
  • 打赏
  • 举报
回复
楼主应该学会用GOOGLE搜索......小问题
Longinc 2008-11-05
  • 打赏
  • 举报
回复
UP
Jessie 2008-11-05
  • 打赏
  • 举报
回复
MFC的吧!偶看着题目诱人!
zengkun100 2008-11-05
  • 打赏
  • 举报
回复
都是来抢分的,我也接一个。
2楼的办法是最直接最简单的
alargel 2008-11-05
  • 打赏
  • 举报
回复
UpdateData函数起控制edit box显示内容的作用
当调用UpdateData(TURE)的时候,程序会对控件相应的变量值进行刷新,也就是说会把控件中输入值赋给相应变量。而调用UpdateData(FAUSE)的时候,程序会把相应变量的值显在相应控件上。
yuhudie203 2008-11-05
  • 打赏
  • 举报
回复
添加WM_TIMER消息 在OnTime()里

CEdit* pEdit = (CEdit*)GetDlgItem(IDC_XXX);///IDC_XXX你对应的控件ID
pEdit->SetWindowText(str);//str 你定期得到的数据
asd497983544 2008-11-05
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 redleaves 的回复:]
C/C++ code#include <windows.h>
#include <stdio.h>

int WINAPI wnd_proc( HWND wnd, UINT msg, WPARAM w, LPARAM l ) {
switch( msg ) {
case WM_CLOSE:
DestroyWindow( wnd );
PostQuitMessage( 0 );
break;
case WM_TIMER:
{
char buf[1024];
sprintf( buf, "%d", rand() );
SetWindowText( GetDlgItem( wnd, 123 ), buf );…
[/Quote]
luojc714 2008-11-05
  • 打赏
  • 举报
回复
我也想学VC...
matrixcl 2008-11-05
  • 打赏
  • 举报
回复
UpdateData()界面空间和数据绑定后才有用。例如给一个edit控件指定一个变量 CString m_strEdit, 然后

UpdateData(TRUE) : 保存数据。 如果执行这条语句前你在edit控件中输入"123",那么执行之后 m_strEdit = "123"
UpdateData(FALSE): 载入数据. 如果执行这条语句前m_strEdit = "456", 那么执行之后edit控件将显示"456"
chiyan2914 2008-11-05
  • 打赏
  • 举报
回复
帮顶
ciappcia 2008-11-05
  • 打赏
  • 举报
回复
UpdateData(FALSE); 这据话有什么作用吗?请问下。如果是true那??
redleaves 2008-11-05
  • 打赏
  • 举报
回复
#include <windows.h>
#include <stdio.h>

int WINAPI wnd_proc( HWND wnd, UINT msg, WPARAM w, LPARAM l ) {
switch( msg ) {
case WM_CLOSE:
DestroyWindow( wnd );
PostQuitMessage( 0 );
break;
case WM_TIMER:
{
char buf[1024];
sprintf( buf, "%d", rand() );
SetWindowText( GetDlgItem( wnd, 123 ), buf );
}
break;
}
return DefDlgProc( wnd, msg, w, l );
}
int main() {
HWND wnd = CreateWindow( "#32770", "Time Wnd", WS_OVERLAPPED|WS_SYSMENU, 0, 0, 100, 100, 0, 0, 0, 0 );
HWND edit = CreateWindow( "edit", "", WS_VISIBLE|WS_CHILD|ES_READONLY, 10, 10, 60, 21, wnd, (HMENU)123, 0, 0 );
SetWindowLong( wnd, GWL_WNDPROC, (long)wnd_proc );
ShowWindow( wnd, SW_SHOW );
SetTimer( wnd, 1, 500, 0 );
MSG msg;
while( GetMessage( &msg, wnd, 0, 0 ) != -1 && msg.message != WM_QUIT ) {
TranslateMessage( &msg );
DispatchMessage( &msg );
}
return msg.lParam;
}

自己搞个cpp编译一下...
luhongyingbobo 2008-11-05
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 jia_xiaoxin 的回复:]
一下是在VC6下的设置,如果是其他编译器(2005...)设置不同,但代码因该一样


C/C++ code/*
1.首先在窗体上放一个CEdit控件,
2.在view菜单下选择 "类向导",弹出"类向导" 对话框,在"类向导" 对话框的标签中,选择Member variable.
在下面的列表框中会有CEdit控件的id,默认为IDC_EDIT1,双击列表的IDC_EDIT1行,弹出Add member variable对话框,
输入变量名m_edit;
3.点确定退出"类向导" 对话框。

4.在"类向导" …
[/Quote]


楼主快给分!!!!!
nsh_nsh 2008-11-05
  • 打赏
  • 举报
回复
1.首先在窗体上放一个CEdit控件,
2.在view菜单下选择 "类向导",弹出"类向导" 对话框,在"类向导" 对话框的标签中,选择Member variable.
在下面的列表框中会有CEdit控件的id,默认为IDC_EDIT1,双击列表的IDC_EDIT1行,弹出Add member variable对话框,
输入变量名m_edit;
3.点确定退出"类向导" 对话框。

4.在"类向导" 对话框中选择消息映射,选择类的消息WM_TIMER,生成定时器消息事件
5.在窗体上放一个CButton按钮
6.双击该按钮,在弹出的对话框中选确定,此时进入窗体的类代码中
7.我们在刚创建的按钮事件中,添加如下代码:
*/
void CTestDlg::OnButton1()
{
// TODO: Add your control notification handler code here
//启动定时器
SetTimer(1,1000,NULL);
}

在定时器函数中添加如下代码:

void CTestDlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
UpdateData(TRUE);
//此处加入你要在编辑框中显示的数据
m_edit = "hello!";
UpdateData(FALSE);
CDialog::OnTimer(nIDEvent);
}
cruxsky 2008-11-05
  • 打赏
  • 举报
回复
设一个变量,给它赋值,再Updatedata
luhongyingbobo 2008-11-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 AuroraExcuse 的回复:]
WM_TIMER 在Ontimer()里面UPdatedata
[/Quote] 正解
jia_xiaoxin 2008-11-05
  • 打赏
  • 举报
回复
一下是在VC6下的设置,如果是其他编译器(2005...)设置不同,但代码因该一样

/*
1.首先在窗体上放一个CEdit控件,
2.在view菜单下选择 "类向导",弹出"类向导" 对话框,在"类向导" 对话框的标签中,选择Member variable.
在下面的列表框中会有CEdit控件的id,默认为IDC_EDIT1,双击列表的IDC_EDIT1行,弹出Add member variable对话框,
输入变量名m_edit;
3.点确定退出"类向导" 对话框。

4.在"类向导" 对话框中选择消息映射,选择类的消息WM_TIMER,生成定时器消息事件
5.在窗体上放一个CButton按钮
6.双击该按钮,在弹出的对话框中选确定,此时进入窗体的类代码中
7.我们在刚创建的按钮事件中,添加如下代码:
*/
void CTestDlg::OnButton1()
{
// TODO: Add your control notification handler code here
//启动定时器
SetTimer(1,1000,NULL);
}

在定时器函数中添加如下代码:

void CTestDlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
UpdateData(TRUE);
//此处加入你要在编辑框中显示的数据
m_edit = "hello!";
UpdateData(FALSE);
CDialog::OnTimer(nIDEvent);
}
e_sharp 2008-11-05
  • 打赏
  • 举报
回复
给编辑框上绑定一个CString

WM_TIMER

UpdateData(FALSE);
加载更多回复(11)

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧