窗体分割模块详细设计

上传人:精****档 文档编号:43686659 上传时间:2018-06-07 格式:DOC 页数:16 大小:515KB
返回 下载 相关 举报
窗体分割模块详细设计_第1页
第1页 / 共16页
窗体分割模块详细设计_第2页
第2页 / 共16页
窗体分割模块详细设计_第3页
第3页 / 共16页
窗体分割模块详细设计_第4页
第4页 / 共16页
窗体分割模块详细设计_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《窗体分割模块详细设计》由会员分享,可在线阅读,更多相关《窗体分割模块详细设计(16页珍藏版)》请在金锄头文库上搜索。

1、项目名称:NeusoftNeusoft MediaMedia PlayerPlayer项目编号: NEU-TRAINING-2008001NEU-TRAINING-2008001文档编号:D09-PMT08004D09-PMT08004窗体分割模块详细设计总页数16正文14附录生效日期编制李晓奇批准详细设计报告 版本:0.0.0-2.0.1 第 I 页目目 录录1文档概述.11.1文档目的和范围.11.2术语/缩略语.11.3参考文档.12窗体分割模块功能描述.22.1数据结构定义.22.1.1数据类型定义.22.1.1.1SPC_NMHDR.22.1.2全局变量定义.22.1.3常量定义.2

2、2.2CSplitterControl 类功能实现.32.2.1类数据成员.32.2.2类成员函数.32.2.2.1CreateSplitter.42.2.2.2SetRange.62.2.2.3ChangeWidth.72.2.2.4ChangeHeight.92.2.2.5MoveWindowTo .112.2.2.6DrawLine.13详细设计报告 版本:0.0.0-2.0.1 第 1 页1 文档概述文档概述1.1 文档目的和范围文档目的和范围本文档描述了使用分隔条对主窗体进行分割的相关内容,为日后开发提供相关参考和依据。1.2 术语术语/缩略语缩略语序号术语/缩略语说明1GUI(Gr

3、aphical User Interface)图形用户界面2DC(Device Context)图形设备环境1.3 参考文档参考文档序号文档名作者时间版本1Neusoft Media Player 项目要求书胡本仁2009-02-04Ver1.22概要设计_第二组2009-02-24Ver1.0详细设计报告 版本:0.0.0-2.0.1 第 2 页2 窗体分割模块功能描述窗体分割模块功能描述窗体分割模块位于 GUI 层,其功能是通过用户对分隔条的水平或竖直方向的拖拽动态改变主窗体各个控件尺寸的大小。2.1 数据结构定义数据结构定义2.1.1 数据类型定义数据类型定义2.1.1.1SPC_NMH

4、DRtypedefstructSPC_NMHDRNMHDR hdr;intdelta; SPC_NMHDR;SPC_NMHDR 结构体由通知消息结构体和偏移量两部分组成,通知消息结构。变量 hdr 用于记录消息内的具体信息,偏移量:delta 记录水平或竖直方向的拖拽距离2.1.2 全局变量定义全局变量定义static HCURSOR SplitterControl_hCursor1 = NULL;/分隔条水平拖拽可选状态图标指针static HCURSOR SplitterControl_hCursor2 = NULL;/分隔条垂直拖拽可选状态图标指针2.1.3 常量定义常量定义#defin

5、e CW_LEFTALIGN1/左对齐#define CW_RIGHTALIGN2/右对齐#define CW_TOPALIGN3/顶端对齐#define CW_BOTTOMALIGN4/底对齐详细设计报告 版本:0.0.0-2.0.1 第 3 页#define SPS_VERTICAL1/分隔条垂直拖拽#define SPS_HORIZONTAL2/分隔条水平拖拽2.2 CSplitterControl 类功能实现类功能实现用户拖拽分隔条通过对鼠标事件的捕获判断出拖拽方向和偏移量并表示出拖拽效果,然后逐个设置需要进行改变的控件的宽度或高度,最后更新窗口,从而实现了分割窗口的效果。2.2.1

6、类数据成员类数据成员BOOLm_bIsPressed;/判断是否选中了分隔条标志intm_nType;/分隔条退拽类型int m_nX;/分隔条中心点水平坐标int m_nY;/分隔条中心点垂直坐标intm_nMin;/分隔条拖拽最小值int m_nMax;/分隔条拖拽最大值intm_nSavePos;/存储分隔条拖拽过程中的前一水平或垂直坐标2.2.2 类成员函数类成员函数voidCreateSplitter(DWORD dwStyle, const CRect voidSetRange(int nMin, int nMax);static void ChangeWidth(CWnd* pW

7、nd, int dx, DWORD dwFlag = CW_LEFTALIGN);static void ChangeHeight(CWnd* pWnd, int dy, DWORD dwFlag = CW_TOPALIGN);voidMoveWindowTo(CPoint pt);virtual voidDrawLine(CDC* pDC, int x, int y);详细设计报告 版本:0.0.0-2.0.1 第 4 页2.2.2.1CreateSplitter 【函数式样】表 2-1函数名函数名CreateSplitter函数作用范围函数作用范围public类名类名CSplitterControl功能概要功能概要创建分隔条,并对分隔条属性进行设置记述形式记述形式BOOL CSplitterControl:CreateSplitter(DWORD dwStyle, const CRect &rect, CWnd *pParent, UINT

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号