资源预览内容
第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
第9页 / 共16页
第10页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
项目名称: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常量定义.22.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(Graphical 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_NMHDRtypedefstructSPC_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 常量定义常量定义#define 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 类数据成员类数据成员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* pWnd, 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
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号