spin控件的问题。在线等待

whmsd 2003-10-15 04:01:19
spin控件m_spin, edit控件m_eidt
以下代码加在InitialDialog函数中,为什么一运行 m_edit的值是“65536”?
m_spin.SetRange(0, 200);
m_spin.SetPos(0);

m_edit.Format("%d", m_spin.GetPos());
UpdateData(FALSE);

...全文
99 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
symsd 2003-10-20
  • 打赏
  • 举报
回复
spin控件右击 选中properties --style下面的set buddy integer 属性
apcad 2003-10-15
  • 打赏
  • 举报
回复
经过测试没有问题的。
m_edit是CString型吗?
No.4 简单的MFC多对话框演示程序 “MultiDialog” 演示如何在工程中拥有多个对话框,及如何在一个对话框中调用另一个对话框。 重点:1、多个对话框类的建立;2、对话框的模式(Modal)调用方法;3、Spin控件的使用。 新建一个基于对话框的MFC工程, 通过菜单"Insert>>Resource"打开添加资源对话框, 在其中选择Dialog后点击New创建一个新的对话框 按Ctrl+W打开ClassWizard,系统会提示刚才创建了一个新的对话框资源,是否建立对应的类, 选择建立,然后在New Class窗口中Class Name栏输入它的名称:CSubClass1, 确定后系统会自动生成SubClass1.h和SubClass1.cpp并加入工程中,其中有已经创建好的CSubClass1的类的基本代码。 把这个对话框的Caption属性改为“难度选择”,在它上面画三个Radio“简单”、“标准”、“困难”, 并建立相关联的变量m_Option1。(要注意的是在ClassWizard中注意Class Name中应该选CSubClass1而不是之前的主对话框类) 按照相同方法建立第二个新对话框,类名“CSubClass2”,Caption为“关卡选择”。 在上面画一个Edit和一个Spin,注意先画Edit后画Spin,将Spin的Auto buddy和Set buddy integer勾上。 按Ctrl+W打开ClassWizard,为Edit建立关联变量,不过注意是int型而不是CString型, 也为Spin建立关联变量m_Spin1,注意这次是Control型变量CSpinButtonCtrl。 下面为这两个对话框添加代码。 双击“难度选择”对话框的OK按钮,建立对话框的OnOK映射。 在其中加入(在CDialog::OnOK();之前): UpdateData(TRUE); if ((m_Option1>2) ||(m_Option1<0)) { MessageBox("错误的选择!","提示",MB_OK); return; } 下面对“关卡选择”对话框添加初始化代码, 由于关卡的有效值只有1到6,因此需要在初始化时设置Spin控件的有效值范围。 按Ctrl+W打开ClassWizard,在左侧列表选择这个对话框类CSubDialog2, 在右侧列表中选择WM_INITDIALOG,点击右边的“Add Function...”按钮, 接着点击右边的“Edit Code”按钮,在其中中加入(在CDialog::OnInitDialog()那句之后,在return TRUE那句之前): m_Spin1.SetRange(1,6); m_Text1=1; m_Spin1.SetPos(1); 其中CSpinButtonCtrl::SetRange()函数的作用是设置和他关联的Spin控件的范围,两个参数分别是下界和上界。 而CSpinButtonCtrl::SetPos()是设定Spin的当前位置。 两个新的对话框都已建立完毕,下来是如何在主对话框中使用的问题。 首先,两个新对话框都有各自的类,分别在SubDialog1.h和SubDialog2.h中有定义。(类的细节则在对应的cpp中定义) 因此,主对话框想要调用这两个新对话框,需要先包含这两个头文件, 在你要使用的地方(本例是MultiDialogDlg.cpp中)文件前面加上 #include "SubDialog1.h" #include "SubDialog2.h" 然后在想要调用的地方就可以使用了。 本例中,首先为主窗口的两个Edit建立CString型关联变量m_Text1和m_Text2, 然后在两个按钮的消息映射函数中分别加入: CSubDialog1 dialog1; //定义CSubDialog1型对话框的一个新对象 dialog1.DoModal(); //使用“模式”调用,显示对话框 m_Text1.Format("%d",dialog1.m_Option1); //此句在上面对话框没有关闭前不会执行到 UpdateData(FALSE); 和 CSubDialog2 dialog1; dialog1.DoModal(); m_Text2.Format("%d",dialog1.m_Text1); UpdateData(FALSE); 其中第一句均为定义对话框新实例的语句,定义一个你想要的类型的对话框。 第二句是通过调用CDialog::DoModal()方法,来显示这个对话框,并进入“模式”(Modal)状态 在“模式”状态,当子对话框没有关闭之前,调用它的父对话框不能被响应, 并且其语句执行会停留在刚才的DoModal语句上等待,直到子对话框关闭才接着执行下一个语句。 第三第四句将子对话框得到的数据(即类的成员变量)显示在父对话框的Edit上。 四句执行完后退出该函数,这时刚才定义的CSubDialog1等对话框类变量被销毁,因此创建的话框也被销毁。
第1章 Windows程序设计基础 1 1.1 Windows概述 1 1.1.1 Windows的发展历史 1 1.1.2 Windows的技术特点 2 1.2 Windows程序特点 3 1.2.1 程序组成 3 1.2.2 数据类型 4 1.2.3 匈牙利命名法 6 1.2.4 Windows消息 7 1.2.5 运行模式 8 1.3 简单的Windows程序介绍 9 1.3.1 开始之前 9 1.3.2 WinMain函数 10 1.3.3 注册窗口类 11 1.3.4 建立窗口 13 1.3.5 窗口函数 14 1.3.6 窗口内的输出 15 1.4 上机步骤 16 1.4.1 进入开发环境 16 1.4.2 新建项目 17 1.4.3 修改项目选项 17 1.4.4 添加程序文件 18 1.4.5 编辑程序 18 1.4.6 调试运行 18 1.5 小结 19 1.6 练习题 19 第2章 MFC程序设计基础 21 2.1 MFC概述 21 2.1.1 MFC与应用程序框架 21 2.1.2 MFC的组成 21 2.1.3 MFC中的类 22 2.2 MFC程序的特点 23 2.2.1 概述 23 2.2.2 MFC与消息处理 23 2.2.3 运行模式 24 2.3 简单的MFC程序 25 2.3.1 开始之前 25 2.3.2 派生应用程序类 25 2.3.3 派生窗口类 26 2.3.4 建立窗口 26 2.3.5 加入消息映射 27 2.3.6 建立MFC应用程序对象 28 2.4 上机步骤 28 2.4.1 建立项目 28 2.4.2 修改项目属性 28 2.4.3 调试运行 28 2.5 使用资源 29 2.5.1 建立图标资源 29 2.5.2 在程序中使用图标资源 31 2.6 小结 31 2.7 练习题 32 第3章 常用MFC通用类 33 3.1 CRect、CPoint、CSize类 33 3.1.1 CRect类 33 3.1.2 CPoint类 33 3.1.3 CSize类 34 3.2 CString类 34 3.2.1 创建字符串 34 3.2.2 访问字符串数据 35 3.2.3 字符串的比较 36 3.2.4 子串函数 38 3.2.5 字符串处理函数 39 3.3 集合类 39 3.3.1 列表类CList 40 3.3.2 数组类CArray 43 3.3.3 映射类CMap 45 3.4 时间处理类 47 3.4.1 COleDateTime类 47 3.4.2 COleDateTimeSpan类 51 3.5 异常处理类 52 3.5.1 异常处理类的使用 53 3.5.2 MFC异常处理类简介 53 3.6 小结 54 3.7 练习题 55 第4章 文档视图程序 56 4.1 概述 56 4.2 文档 56 4.2.1 单文档对象程序 56 4.2.2 多文档对象程序 57 4.2.3 多文档类型程序 58 4.3 视 58 4.3.1 一个文档对象对应一个视对象 58 4.3.2 一个文档对象对应多个视对象 59 4.3.3 一个文档对应多个视类型 59 4.4 窗口框架 59 4.5 文档模板 60 4.6 建立标准单文档程序框架 61 4.6.1 新建项目 61 4.6.2 修改项目选项 62 4.6.3 完成向导 64 4.6.4 运行结果 65 4.7 单文档程序框架分析 66 4.7.1 Stdafx.h 66 4.7.2 Stdafx.cpp 67 4.7.3 0401.h 67 4.7.4 0401.cpp 68 4.7.5 MainFrm.h 72 4.7.6 MainFrm.cpp 73 4.7.7 TextDoc.h 77 4.7.8 TextDoc.cpp 78 4.7.9 TextView.h 81 4.7.10 TextView.cpp 82 4.8 小结 85 4.9 练习题 85 第5章 绘图输出 86 5.1 GDI与MFC 86 5.1.1 概述 86 5.1.2 设备环境类 87 5.1.3 GDI对象类 87 5.2 绘制图形 88 5.2.1 开始绘图 88 5.2.2 更改画笔 91 5.2.3 使用画刷 92 5.2.4 使用位图 93 5.3 输出文本 99 5.3.1 文本输出函数 99 5.3.2 更改文本颜色 100 5.3.3 更改字型、字体 102 5.4 坐标与坐标模式 106 5.4.1 坐标模式 107 5.4.2 MM_ANISOTROPIC坐标模式 108 5.4.3 MM_ISOTROPIC坐标模式 110 5.4.4 平移坐标 111 5.4.5 修改坐标方向 112 5.5 小结 113 5.6 练习题 114 第6章 用户输入 115 6.1 鼠标和键盘 115 6.1.1 鼠标消息 115 6.1.2 键盘消息 119 6.2 使用菜单 121 6.2.1 编辑菜单 121 6.2.2 处理菜单命令 123 6.2.3 修改菜单状态 125 6.2.4 使用弹出式菜单 127 6.3 小结 129 6.4 练习题 130 第7章 工具栏与状态栏 131 7.1 工具栏 131 7.1.1 编辑工具栏 131 7.1.2 处理工具栏命令 133 7.1.3 工具栏按钮状态 135 7.1.4 自定义工具栏 135 7.2 状态栏 141 7.2.1 默认状态栏 142 7.2.2 操作状态栏 143 7.3 小结 149 7.4 练习题 149 第8章 使用文件 150 8.1 CFile类 150 8.1.1 文件的建立、打开和关闭 150 8.1.2 文件的读、写 152 8.1.3 文件内容的定位与锁定 153 8.1.4 获取、设置文件状态 154 8.2 序列化 156 8.2.1 序列化的概念 156 8.2.2 Serialize函数 156 8.2.3 CArchive类 157 8.2.4 序列化应用实例 159 8.3 文件管理 162 8.3.1 文件操作 162 8.3.2 目录操作 163 8.4 小结 164 8.5 练习题 164 第9章 常用消息 165 9.1 消息的分类 165 9.2 系统消息 165 9.2.1 WM_CREATE 165 9.2.2 WM_CLOSE 166 9.2.3 WM_QUERYENDSEESSION 166 9.2.4 WM_DESTROY 167 9.2.5 WM_NCDESTROY 167 9.2.6 WM_TIMER 167 9.2.7 WM_PAINT 168 9.2.8 程序实例 169 9.3 用户自定义消息 171 9.3.1 消息标识 172 9.3.2 消息映射宏 172 9.3.3 消息发送 172 9.3.4 消息接收 173 9.3.5 使用系统热键消息 174 9.3.6 使用进程间消息 177 9.4 小结 180 9.5 练习题 181 第10章 对话框 182 10.1 概述 182 10.2 对话框模板资源 182 10.2.1 创建对话框模板资源 182 10.2.2 编辑对话框模板属性 183 10.2.3 在对话框模板中添加或删除控件 184 10.2.4 在对话框模板上调整控件 185 10.2.5 修改控件的属性 185 10.2.6 设定控件跳格次序 186 10.2.7 测试对话框模板资源 187 10.3 对话框类 187 10.3.1 模式对话框 188 10.3.2 模式对话框例子 188 10.3.3 非模式对话框 189 10.3.4 非模式对话框例子 189 10.4 自定义对话框 190 10.4.1 建立模板资源 191 10.4.2 建立CDialog派生类 191 10.4.3 为控件添加消息映射 192 10.4.4 为控件添加成员变量 193 10.4.5 使用CDialog派生类对象 194 10.5 基于对话框的MFC程序 194 10.5.1 建立项目 195 10.5.2 对话框程序框架分析 196 10.6 通用对话框 202 10.6.1 CFileDialog 203 10.6.2 CColorDialog 205 10.6.3 CFontDialog 206 10.7 小结 208 10.8 练习题 208 第11章 常用控件 210 11.1 概述 210 11.1.1 控件消息 210 11.1.2 通知消息 210 11.1.3 控件的创建 210 11.2 按钮(BUTTON) 210 11.2.1 按钮样式 211 11.2.2 按钮控件的通知消息 211 11.2.3 在对话框中使用按钮的例子 211 11.3 文本编辑框(EDITBOX) 213 11.3.1 文本编辑框的样式 214 11.3.2 文本编辑框控件的通知消息 214 11.3.3 在对话框中使用编辑框控件 214 11.4 静态控件(STATIC) 216 11.4.1 静态控件的样式 216 11.4.2 静态控件的通知消息 217 11.4.3 在对话框中使用静态控件 217 11.5 复选框 (CHECKBUTTON) 218 11.5.1 复选框的样式 218 11.5.2 复选框的通知消息 219 11.5.3 在对话框中使用复选框 219 11.6 单选按扭 (RADIOBUTTON) 219 11.6.1 单选按钮的样式 219 11.6.2 单选按钮的通知消息 219 11.6.3 在对话框中使用复选框和单选按钮 219 11.7 进程条 (PROGRESS) 221 11.7.1 进程条的样式 221 11.7.2 进程条的成员函数 221 11.7.3 在对话框中使用进程条控件 221 11.8 滑动条 (SLIDER) 222 11.8.1 滑动控件的样式 223 11.8.2 滑动控件的通知消息 223 11.8.3 微调控件的成员函数 223 11.8.4 在对话框中使用滑动条控件 224 11.9 Spin控件 224 11.9.1 微调控件的样式 225 11.9.2 微调控件的通知消息 225 11.9.3 微调控件的成员函数 225 11.9.4 在对话框中使用微调控件 226 11.10 组合框 (ComboBox) 227 11.10.1 组合框的样式 227 11.10.2 组合框的常用通知消息 228 11.10.3 在对话框中使用组合框 228 11.11 小结 229 11.12 练习题 229 第12章 使用树控件和列表控件 231 12.1 图像列表 231 12.1.1 建立图像列表 231 12.1.2 图像列表的操作 232 12.2 树控件 233 12.2.1 概述 233 12.2.2 树控件的创建 234 12.2.3 树控件的操作 238 12.3 列表控件 240 12.3.1 概述 240 12.3.2 列表控件的创建 241 12.3.3 列表控件的操作 245 12.4 小结 248 12.5 练习题 248 第13章 动态链接库 249 13.1 概述 249 13.2 创建标准Win32动态库 249 13.2.1 新建标准Win32动态库项目 250 13.2.2 添加函数 250 13.2.3 添加类 253 13.2.4 导出函数 253 13.2.5 导出自定义类 253 13.2.6 生成DLL 254 13.3 创建标准MFC动态库 254 13.3.1 新建MFC动态库项目 254 13.3.2 添加自定义函数 255 13.3.3 添加自定义类 258 13.3.4 导出自定义函数 258 13.3.5 导出自定义类 258 13.4 在程序中使用动态库 258 13.4.1 加载 DLL的方式 258 13.4.2 使用隐式加载 259 13.4.3 使用显式加载 260 13.5 小结 262 13.6 练习题 262 第14章 使用多任务 264 14.1 进程 264 14.1.1 进程的优先级 264 14.1.2 启动进程 265 14.1.3 进程的管理 267 14.2 线程 274 14.2.1 线程的优先级 275 14.2.2 线程的创建和终止 275 14.2.3 使用工作者线程 276 14.2.4 使用用户接口线程 277 14.3 进程、线程间的同步 279 14.3.1 等待函数 280 14.3.2 使用事件 281 14.3.3 使用临界段 282 14.3.4 使用互斥量 284 14.3.5 使用信号量 285 14.4 小结 287 14.5 练习题 288 附 录 289 附录A Windows窗口样式 289 附录B Windows虚键码表 292 附录C 常用数据结构 294 参考文献 306
使用方法: 支持JAVA和PHP两种后台。 PHP:直接将WebRoot下的文件放到php服务器上直接运行即可,记得启用sqlite3。 JAVA:修改user-manage.js,将访问后台的url由"datasource.php"改为"datasource.jsp",然后将WebRoot下的文件放到tomcat下直接运行。也可使用Eclipse直接导入此项目文件。 简要说明: 使用DataTable默认的ajax交互功能,对传给后台和从后台获取的数据都有命名格式要求,这样一来耦合度较高,不利于后期扩展,不能直接适用于需要跟多种不同前端或其他业务交互的项目。本例子主要展示了自行封装请求参数和返回数据的用法,对后台的交互没有任何格式和命名限制。 基于Bootstrap 2.3.2,相关的其他插件包括图标控件FontAwesome、等待提示控件Spinjs(修改版)、弹窗控件lhgdialog(修改版) 主要展现: 封装请求参数(查询、排序、分页,不再需要data、dataFilter和dataSrc) 封装返回数据 自定义查询参数 服务器分页 自行控制和自定义遮罩效果 生成自定义效果的单元格(在线离线) 生成复选框单元格 响应复选框选择事件 生成操作按钮单元格 响应操作栏按钮点击事件 响应行点击事件 渲染回调事件(默认选中第一行) 分页栏增加跳页功能(直接修改了dataTables.bootstrap.js和dataTables.bootstrap.css) CSS实现单元格超长文字省略号显示 CSS实现单元格连续纯字母数字强制换行显示

1,649

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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