65,210
社区成员
发帖
与我相关
我的任务
分享#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;
}
/*
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);
}