我在A对话框调用B对话框,并由A对话框向B对话框的日期控件传送日期数据并显示,我不知该怎样做,我查了很多资料,都说要获的B对话框的句柄由此的到其日期控件的指针,以此向日期控件发送消息,来显示日期
int nYear,nMonth,nDay;
CDateTimeCtrl* pTime = (CDateTimeCtrl *)GetDlgItem(IDC_DATETIMEPICKER1);
sscanf(m_date,"%d-%d-%d",&nYear,&nMonth,&nDay);
CTime time(nYear,nMonth,nDay,0,0,0);
pTime->SetTime(&time);
但就是不成功,望大大解惑
int nYear,nMonth,nDay;
CDateTimeCtrl* pTime = (CDateTimeCtrl *)GetDlgItem(IDC_DATETIMEPICKER1);
sscanf(m_date,"%d-%d-%d",&nYear,&nMonth,&nDay);
CTime time(nYear,nMonth,nDay,0,0,0);
pTime->SetTime(&time);
但就是不成功,望大大解惑
解决方案 »
- 请问GIS如何学习
- 求1本有关 局域网内语音通信的书
- gethostname得不到主机名?
- MDI 中怎樣在主框架CMainFrame 中通過pDocTemplate->CreateNewFrame() 新建一個子窗口???
- 有西安的程序员或想去西安的程序员吗?进来聊聊。
- 95下的LoadLibrary()????
- 如何更改tabsheet(不是tab)的背景颜色?
- CListCtrl中插入位图,但怎么只能插入在第一列,我想插入第二列,但还是插在第一列,请高手指教?
- (急)Excel表格中,如果存在这样一列数据该如何用VC读出来,1,1.1,1.1.1,1.1.2,
- 对话框动态显示时间
- 高分求解一个压缩的问题(急)
- 如何用ATL做一个activex控件容器?
#define WM_UM_MESSAGE WM_USER+200在A对话框中:
CTime CTime time(nYear,nMonth,nDay,0,0,0); HWND whd;
whd = FindWindow(NULL,"你的B窗体的标题");
::PostMessage(whd,WM_UM_MESSAGE,(WPARAM)time,0);在B对话框中:
截获WM_UM_MESSAGE消息并把wparam转换为时间值。
PreTranslateMessage(...)
{
if(msg->Message == WM_UM_MESSAGE)
{
CTime tm = (CTime)msg->wParam;
tm.......
}
}
.h
......
COleDateTime m_tDay;
......
.cpp
void CDlgB::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDlgB) DDX_DateTimeCtrl(pDX, IDC_DATETIMEPICKER1, m_tDay);
//}}AFX_DATA_MAP
}调用的时候
int nYear,nMonth,nDay;
sscanf(m_date,"%d-%d-%d",&nYear,&nMonth,&nDay);CDlgB dlg;
dlg.m_tDay.SetDate(nYear,nMonth,nDay);
dlg.DoModal();
最简单就如楼上说的:B在显示A前生成A的对象,再给A对象的日期控件赋值,最后再显示A