今天这个问题好像回答过,最简单的办法:原对话框那个按钮设置为OnOK() //这样点击就关闭了在原对话框的DoModal()处,这样处理 int nResponse = dlg.DoModal();//创建模态对话框,这里就开始显示了。 if (nResponse == IDOK) { // TODO: Place code here to handle when the dialog is dlg2.DoModal(); //这里新对话框就弹出了 }
必须将对话框指针传入线程函数,其后有三种方式可以实现
方法一:中直接调用m_progress.setpos(progresscount);
方法二:可以通过发送自定义消息,让对话框调用m_progress.setpos(progresscount);
方法三:可以把具体实现放在类内部的成员函数(非静态)中,而在线程函数值用对话框指针调用这个函数,这样比较方便。
1:获取编辑框的数值:GetDlgItemInt(IDC_EDIT2)
例子:int a = GetDlgItemInt(hwndDlg,IDC_a,NULL,TRUE);///注释:用GetDlgItemInt函数获取hwndDlg窗口中的IDC_a控件中输入的整数值并赋给变量a。
UpdateData(TRUE);
CString Str_pos;
m_PlanPosition.GetWindowText(Str_pos);m_PlanPosition类型为Cedit
long m_position=_ttol(Str_pos);//将字符串转成长整型,类似,可以将字符串型转成需要的。
2:将数据显示到编辑框中:
法一:此时编辑框关联的变量类型为CEdit时
int i = GetDlgItemInt(IDC_EDIT2);
CString str;
str.Format("%d", i);
m_edit2.SetWindowText(str);
新建mfc对话框工程打开对话框资源编辑界面双击默认的确定按钮添加默认的OnOK响应函数,注释掉默认的CDialog::OnOK();讲对话框工程中OnSysCommand中的默认代码【标题栏系统菜单有个关于菜单拿来用用,mfc类向导默认帮你生成了关于对话框和对应的类直接拿来主义,】copyOnSysCommand中的两行代码CAboutDlgdlgAbout;dlgAbout.DoModal();到OnOK函数中当然你可以不使用,甚至删除默认的确定按钮;自己添加一个button上去给你的button添加响应函数
窗口还是对话框?
如果是对话框资源,这个有办法。将两个工程备份后(最好放在同级目录下),打开一个工程,选择添加工程到当前解决方案(菜单Project—Insert Project into workspace),将两个工程放到同一个workspace下,这时候,在右侧的资源编辑器中,就可以对资源Ctrl+C / Ctrl+V 在两个工程之间复制了,复制完成后,删除无用的project即可。
附件为 vc6 写的mfc程序新建 mfc对话框程序 插入 一个新的对话框资源 保存打开类向导 给新的对话框添加类 给主对话框添加成员变量 新对话框类的 指针给主对话框 的头文件(主对话框类的 类定义 前)添加 新对话框类的 前向声明给主对话框 的源文件 添加 新对话框的头文件引用给主对话框添加 两个按钮一个用来 弹出新对话框 一个用来退出整个程序 双击他们给他们添加响应函数主对话框 构造函数 初始化 那个指针为NULL第一个按钮响应函数中 判断 指针是否为空 ;为空 则 new 建立 新对话框对象 另一个按钮 判断指针是否为空 不为空的 delete 销毁 新对话框 然后把指针 置为空然后PostMessage(WM_QUIT,0,0); 发消息 退出程序 给 主对话框添加 WM_CLOSE消息处理函数屏蔽掉默认的 //CDialog::OnClose(); 语句 阻止程序退出发送消息最小化消息 SendMessage(WM_SYSCOMMAND,SC_MINIMIZE,0);以改变 关闭按钮的实际动作 解决 新对话框 跟着 主对话框 一起最小化 请参考 此贴 对话框create的第二个参数GetDesktopWindow()http://bbs.csdn.net/topics/10163674 不想再任务栏(开始菜单的 右边)中 显示 新对话框 的 (开始菜单的 右边)给新对话框添加 WM_ONINITDIALOG消息的处理函数添加 一行代码 利用setwindowlong这个apiSetWindowLong(m_hWnd,GWL_EXSTYLE,WS_EX_TOOLWINDOW);http://bbs.csdn.net/topics/30062406
句柄 这一概念是MFC里的一个类,MFC有专门的函数来获取窗口句柄。 HWND hwnd; hwnd=CreateWindow("my own windowshandle","jaycnvip",WS_OVERLAPPEDWINDOW,0,0,600,400,NULL,NULL,hInstance,NULL); 这是用一个句柄变量来保存新创建的窗口句柄。 其它如: 通过窗口标题获取窗口句柄 CWnd *pWnd = FindWindow(_T("#32770"), _T("QQ用户登录")); CWnd有个成员函数 HWND GetSafeHwnd( ) const; 在对话框类的成员函数里用 HWND hwnd = GetSafeHwnd(); 得到的hwnd就是句柄了
1、首先,是一个word表格,里面的文字在表格内显示不全。
2、选中需要调整的表格内容,然后选择工具栏中的“段落”工具。
3、接下来在弹出的“段落”对话框中找到“行距”和“设置值”选项。
4、在“行距”选项中选择“固定值”,然后在“设置值”中设置好行距的值,点击确定即可。
5、再次回到word的表格看,此时文字没有改变大小,表格的行高也没有变化,但是文字已经完整的显示在表格内了。
6、当然,对于excel电子表格遇到同样的情况时也可以同法解决问题。
1,在电脑上操作:点击左下角的开始菜单,选择“设备和打印机”,当然你也可以在此点右键创建桌面的快捷方式。
2,进去之后,双击该打印机图标,在里面也可以选择相关的设置项,根据自己的需求来定;选择“扫描文档或图片”,进入可以检查相关需要的设置项,有配置、来源、文件格式。
3,根据你的需要选择,尤其注意如果你要发邮件的话要留意文件的大小,有很多是打包一起发,太大超过邮件要求的大小将发不出去。
4,一切确认后点击栏框右下方的扫描,在电脑的右下角弹出对话框,给文件设置文件名,电机导入就可以了。再弹出对话框选择你的存储位置及相关选择项,根据自己的需求设定。
05
然后你的文档就到了设置的存储位置,可以打开查看是否是你需要的;也可以点击文件的右键--属性,查看文件的大小,不行的再进行调整