我测试我快乐,测试与梦想齐飞.
MFC对话框
上一篇 /
下一篇 2008-08-06 20:32:26
/ 个人分类:C语言
今天的工作是新建用户,用弹出对话框来获得新用户的信息...
1.菜单弹出的新建用户对话框和菜单所在的对话框,要把新建的用户信息在之前的对话框中显示出来.因为显示是由对话框中的CListBox控件的AddString方法来完成的(单一的增加),所以在新建用户的对话框中必须要获取指向菜单对话框的指针来完成显示..而这个要通过句柄来完成....要想在一个类中调用一个对话框,就要获得该对话框的句柄,
HWND hWnd;
hWnd=::FindWindow(NULL,_T("User"));
//lpszClassName:窗口类名,lpszWindowName:窗口标题。两个要一个就可以了,当然两个更准确
if (hWnd==false)
MessageBox("error");
Dialog_User* pWnd= (Dialog_User*)FromHandle(hWnd);
pWnd->m_listbox_user.AddString(m_user_name);
要包含该调用对话框的头文件...
2.如何把CString类型的数据转换为char[20],因为我在定义数据结构时把用户名和密码都用char[20]来定义的(很不方便,但是我对C比较熟,数据结构容易出错,就选最拿手的)
char *username,*password;
int i;
username=m_user_name.GetBuffer(m_user_name.GetLength());
password=m_user_password.GetBuffer(m_user_password.GetLength());
for(i=0;i<19;i++)
{ if(i<strlen(username))
userinfo.user_name[i]=*(username+i);
else
userinfo.user_name[i]=' ';
}
userinfo.user_name[19]='\0';
for(i=0;i<19;i++)
{ if(i<strlen(password))
userinfo.user_password[i]=*(password+i);
else
userinfo.user_password[i]=' ';
}
userinfo.user_password[19]='\0';
但是从对话框控件中获得的都是CString类型...
GetDlgItem(IDC_EDIT_USER_NAME)->GetWindowText(m_user_name);
GetDlgItem(IDC_EDIT_PASSWORD)->GetWindowText(m_user_password);
GetDlgItem(IDC_EDIT_REPEAT_PASSWORD)->GetWindowText(m_repeat_password);
现在先用这个笨点的办法把东西实现再说,等以后有时间学下MFC的数据结构和文件操作,再把程序优化下...
相关阅读:
- 《彻底搞定C指针》const int * pi/int * const pi的区别 (风过无痕, 2008-4-18)
- 彻底搞定C指针——函数参数的传递 (风过无痕, 2008-4-18)
- 《彻底搞定C指针》函数名与函数指针 (风过无痕, 2008-4-18)
- c语言常用函数与相对应的头文件 (chenmaochuan, 2008-5-25)
- c语言-sizeof (风过无痕, 2008-7-01)
- c语言文件操作-1 (风过无痕, 2008-7-01)
- c语言文件操作-2 (风过无痕, 2008-7-01)
- c语言-链表基本操作 (风过无痕, 2008-7-02)
- 技术积累. (girlstory, 2008-8-04)
- CLIstBox (girlstory, 2008-8-05)
收藏
举报
TAG:
C语言