设为首页 收藏本站
查看: 928|回复: 0

[经验分享] minigui中的Windows

[复制链接]

尚未签到

发表于 2018-6-12 08:39:11 | 显示全部楼层 |阅读模式

上面,X中有三种窗口类型:主窗口,对话框和控件窗口。主窗口作为应用程序的主界面或开始界面。子窗口通常是控件窗口,也可以是自定义窗口类,这里的控件窗口说白了就是一些窗口上面的控件,比如按钮,编辑框等。对话框其实就是主窗口,只不过一般为了完成特殊用途,所以在此加以区分。
   函数通过接受PMAINWINCREATE1.类型,并分配空间,该变量用来存放创建的主窗口的信息
说下面的代码之前,先说说托管(Hosting)内部实现了消息机制,即当有键盘输入事件发生时,就往消息队列中发送键盘消息,而一般是主窗口会不停的从消息队列中取出消息来处理,或者自己响应,或者忽略,或者派发给其他的窗口。那么这里就有一个问题,消息队列是每个主窗口都有一个呢,还是所有的主窗口都使用同一个消息队列?在MiniGui在创建时指定使用主窗口B则被称为托管窗口。所以很明显CreateInfo.hHosting行是MiniGUI-Threads)所在的主窗口的消息队列。16的消息队列,这里其实忽略了pHosting      
行赋值消息处理回调函数。第94.行发送本窗口的MSG_SIZECHANGING行是发送MSG_ADDNEWMAINWIN窗口主要负责初始化Clip链表里,这个链表记录的是所有窗口的叠加顺序,在显示和隐藏窗口的时候,叠加顺序很重要,它会决定屏幕上哪些窗口会受影响而需要重绘。第9窗口销毁该主窗口。


1:  SendMessage ((HWND)pWin, MSG_SIZECHANGING,
2:                (WPARAM)&pCreateInfo->lx, (LPARAM)&pWin->left);
3:  SendMessage ((HWND)pWin, MSG_CHANGESIZE,
4:                (WPARAM)&pWin->left, 0);
5:
6:  SendMessage (HWND_DESKTOP, MSG_ADDNEWMAINWIN,
7:                (WPARAM) pWin, (LPARAM) pWin->pZOrderNode);
8:
9:  if (SendMessage ((HWND)pWin, MSG_CREATE, 0, (LPARAM)pCreateInfo)) {
10:        SendMessage(HWND_DESKTOP,
11:                      MSG_REMOVEMAINWIN, (WPARAM)pWin, 0);
12:        goto err;
13: }


创建对话框上的控件。模态对话框就是显示之后,用户不能再切换到其他主窗口进行工作的对话框,而只能在关闭之后,才能使用其他的主窗口,通过DialogBoxIndirectParam是待创建对话框的托管主窗口,这里其实是把它disable消息。第18-21行中已经将托管主窗口的dwStyle例如当窗口被设置为WS_DISABLE行,当窗口关闭时,进行的收尾工作。第31行判断了当前对话框是否是激活窗口,如果是的话,当它关闭时,它的托管主窗口应该被激活(34-35L)最后说一下子窗口(中通过调用CreateWindow函数的宏)行获取控件的主窗口。第4设置完控件的属性之后,向HWND_DESKTOP接受到之后,会调用dskOnNewCtrlInstance。第16-18

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-522512-1-1.html 上篇帖子: windows xp 定时开关机 下篇帖子: windows远程关机
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表