ucgui窗口分析.doc
《ucgui窗口分析.doc》由会员分享,可在线阅读,更多相关《ucgui窗口分析.doc(10页珍藏版)》请在咨信网上搜索。
1、一、相关结构体与变量窗口管理结构体/* 窗口管理结构体 共30个字节 */struct WM_Obj GUI_RECT Rect; /窗口尺寸(x0,y0,x1,y1) 8个字节 GUI_RECT InvalidRect; /无效区域(x0,y0,x1,y1) 8个字节 WM_CALLBACK* cb; /回调函数 4个字节 WM_HWIN hNextLin; /指向链表中得下一个窗口 2个字节 WM_HWIN hParent; /当前窗口得父窗口 2个字节 WM_HWIN hFirstChild; /当前窗口得第一个子窗口 2个字节 WM_HWIN hNext; /下一个兄弟窗口 2个字节
2、U16 Status; /标志位 2个字节;窗口创建得标志#define WM_CF_HASTRANS (10) /* Has transparency、 Needs to be defined for windows which do not fill the entire section of their (client) rectangle、 */#define WM_CF_HIDE (01) /* Hide window after creation (default !) */#define WM_CF_SHOW (11) /* Show window after creation
3、*/#define WM_CF_MEMDEV (12) /* Use memory device for redraws */#define WM_CF_STAYONTOP (13) /* Stay on top */#define WM_CF_DISABLED (14) /* Disabled: Does not receive PID (mouse & touch) input */* Create only flags 、 Not available as status flags */#define WM_CF_ACTIVATE (15) /* If automatic activat
4、ion upon creation of window is desired */#define WM_CF_FGND (06) /* Put window in foreground after creation (default !) */#define WM_CF_BGND (16) /* Put window in background after creation */* Anchor flags */#define WM_CF_ANCHOR_RIGHT (17) /* Right anchor 、 If parent is resized, distance to right wi
5、ll remain const (left is default) */#define WM_CF_ANCHOR_BOTTOM (18) /* Bottom anchor 、 If parent is resized, distance to bottom will remain const (top is default) */#define WM_CF_ANCHOR_LEFT (19) /* Left anchor 、 If parent is resized, distance to left will remain const (left is default) */#define W
6、M_CF_ANCHOR_TOP (110) /* Top anchor 、 If parent is resized, distance to top will remain const (top is default) */#define WM_CF_CONST_OUTLINE (111) /* Constant outline、 This is relevant for transparent windows only、 If a window is transparent and does not have a constant outline, its background is in
7、valided instead of the window itself、 This causes add、 computation time when redrawing、 */#define WM_CF_LATE_CLIP (112)#define WM_CF_MEMDEV_ON_REDRAW (113)#define WM_CF_RESERVED3 (114)#define WM_CF_RESERVED4 (1Rect、x0; y0 += pParent-Rect、y0; if (width=0) width = pParent-Rect、x1 - pParent-Rect、x0+1;
8、if (height=0) height = pParent-Rect、y1 - pParent-Rect、y0+1; if (hWin = (WM_HWIN) GUI_ALLOC_AllocZero(NumExtraBytes + sizeof(WM_Obj) = 0) GUI_DEBUG_ERROROUT(WM_CreateWindow: No memory to create window); /如果没有空间来创建需要得动态内存块 else /申请动态内存成功 WM_NumWindows+; /保存系统总窗口数目得计数器加1 pWin = WM_H2P(hWin); /计算获取动态内存数
9、据区得地址 /* 向动态内存区写入当前窗口得参数 */ pWin-Rect、x0 = x0; pWin-Rect、y0 = y0; pWin-Rect、x1 = x0 + width - 1; pWin-Rect、y1 = y0 + height - 1; pWin-cb = cb; /保存回调函数 /* Copy the flags which can simply be accepted */ pWin-Status |= (Style & (WM_CF_SHOW | WM_SF_MEMDEV | WM_CF_MEMDEV_ON_REDRAW | WM_SF_STAYONTOP | WM_
10、CF_DISABLED | WM_SF_CONST_OUTLINE | WM_SF_HASTRANS | WM_CF_ANCHOR_RIGHT | WM_CF_ANCHOR_BOTTOM | WM_CF_ANCHOR_LEFT | WM_CF_ANCHOR_TOP | WM_CF_LATE_CLIP); /* Add to linked lists */ _AddToLinList(hWin); /将窗口插入到窗口管理链表当中 WM_InsertWindowIntoList(hWin, hParent); /插入到父窗口管理链表当中 /* 根据用户定义得窗口风格进行一些列得操作 */ /* A
11、ctivate window if WM_CF_ACTIVATE is specified */ if (Style & WM_CF_ACTIVATE) /如果带激活标志得话,就激活窗口 WM_SelectWindow(hWin); /* This is not needed if callbacks are being used, but it does not cost a lot and makes life easier 、 */ /* Handle the Style flags, one at a time */ #if WM_SUPPORT_TRANSPARENCY if (St
12、yle & WM_SF_HASTRANS) /透明窗口 WM_TransWindowCnt+; /* Increment counter for transparency windows */ #endif if (Style & WM_CF_BGND) WM_BringToBottom(hWin); if (Style & WM_CF_SHOW) /显示窗口 pWin-Status |= WM_SF_ISVIS; /设置可视状态位 WM_InvalidateWindow(hWin); /如果有显示命令,还会设置窗口为无效,等待重绘 WM_SendMsgNoData(hWin, WM_CREA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ucgui 窗口 分析
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。