[ucgui] 对话框4——模式消息窗口
>_<" 这里实现点击灰色窗口的按钮出现一个模式消息窗口,点击OK之后才能再聚焦到灰窗口;点击灰窗口除了按钮的地方,弹出一个非模式窗口。
aaarticlea/png;base64,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DK385USbuyh0YAMbDiWu2Na3b3awPFPqppx6a+Xs+tXT+eiXa2cPtXZI1XerqyUXTmxfM5S4dKm7ljjrxIEdenEwPVVt/uQRJl9nrtx4ajO3I3l2yStTPZjMhQDMw8s737125+tmRbJ8xaqrzcfyFauabXjtztcv73y3z7s4fe3h6WsPTl99cObag9NXH56++vDMtYdnrj1M7mL5ilVbX9/dsOTM1Yenrz04c/XhmasPzlx9cPrqgzNXH5659jC5i7S6ILtw6+tMlUrl1q3p9eu/12yFXBPbkw+T1rx9qLr8wNa5hS/9OW/N4k69vXJm862/zVrh0K9+VJv/xQO5W7WaKum3Lw2t/NVE27tocWAT29cMvfhS7SrVNmxz+am3V2bstJo4DZdu629vff3bl2pXfmL7mtlbM3f8ia3m7uCPtv9qa2KrH20/1fT3wMqXts4ez59frDvIxvlnrsmatw/Vv84+mFvpo5o9tlMNV3juamQuBKBjm17bd+3O16euPMi05bXdOX+HbMtru5tteO3O15te29fnXXz+xaOEh59/8fDzLx6d+eLRttf31Cbc+vqez+uXbHt9z5nqJtce1c/wKLmLtLogu3j7L5n2799fqXx05Nz1b3zzvW9/952Lt//yjW++d/H2X7793XfeO/T5kXPXv/3dd6r+239/q7oCPXP51TVDL/6x8PI/bht46eOyjxmAKGx6bd/1e3/9/Ivp7rp+76+bXtvX512MXZ+e9Tjxenrs+vTZuiWPZ1aYnB67/vjs9emxycdnZ1abrn5ZXTO5i7S6ILt056+Zjp67/o1v7q85em5y/5/HLt35a/X10XOTyXe/8c39zeahG668umbo3/5n0eUf//pHWSsDQPdtfv33k1/+/dzUV901+eXfN7/++z7v4uzk47OTX52d/Ors5ONZX52denyuumTqq+qXiXcf1688p7pJchdpdUE2cfdvzXw2PlVT/bL268Tdv33jm/sbVqBnru54dujf/lR8OQD0yWtvvn9i/MatR//orhPjN1578/3FtIu0uiC7fPfvAACdOX35wc5fv7/59d93185fv3/68oPFtIu0uiC7cu8/AADos/ogu/8fAAD0WV2QXb3/vwAA6LOZIHv66aczg6yyswIAQBdlBtnTTz8tyAAA+kSQAQCUTJABAJRMkAEAlEyQAQCUTJABAJRMkAEA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E2QQAkEGEDVBBiEQZABRE2QQAkEGEDVBBiEQZABRE2QQAkEGEDVBBiEQZABRE2QQAkEGEDVBBiEQZABRE2QQAkEGEDVBBiEQZABRE2QQAkEGEDVBBiEQZABRE2QQAkEGEDVBBiEQZABRE2QQAkEGEDVBBiEQZABRE2QQAkEGEDVBBiEQZF+oZo8AAAJgSURBVABRE2QQAkEGEDVBBiEQZABRE2QQAkEGEDVBBiEQZABRE2QQAkEGEDVBBiEQZABRE2QQAkEGEDVBBiEQZABRE2QQAkEGEDVBBiEQZABRE2QQAkEGEDVBBiEQZABRE2QQAkEGEDVBBiEQZABRE2QQAkEGEDVBBiEQZABRE2QQAkEGEDVBBiEQZABRE2QQAkEGEDVBBiHod5AtXfp9AIIiyKB0/Q4ywzAMI8RR9qcRRK6/QQYAQIogAwAomSADACiZIAMAKJkgAwAomSADACiZIAMAKJkgAwAomSADACiZIAMAKJkgAwAomSADACiZIAMAKJkgAwAomSADACiZIAMAKJkgAwAomSADACiZIAMAKJkgAwAomSADACiZIAMAKJkgAwAomSADACiZIAMAKJkgAwAomSADACiZIAMAKJkgAwAomSADACiZIAMAKJkgAwAomSADACiZIAMAKJkgAwAomSADACiZIAMAKJkgAwAomSADACiZIAMAKJkgAwAomSADACiZIAMAKJkgAwAomSADACiZIAMAKJkgAwAomSADACiZIAMAKJkgAwAomSADACiZIAMAKJkgAwAomSADACiZIAMAKJkgAwAomSADACiZIAMAKJkgAwAomSADACiZIAMAKJkgAwAomSADACiZIAMAKJkgAwAomSADACiZIAMAKJkgAwAomSADACiZIAMAKFnbQQYAQK8JMgCAkgkyAICSCTIAgJIJMgCAkgkyAICS1QUZAAClmAkywzAMwzAMo8RRWbZs2fTX//jswi0AFoHpr/+xbNmydw3DWFDj/wMk6OXBisnp/QAAAABJRU5ErkJggg==" alt="" width="430" height="274" />
static const GUI_WIDGET_CREATE_INFO _aDialogOrder[] = {//大的一个窗口(刚开始显示的,有一个按钮)
{ FRAMEWIN_CreateIndirect, "Order vehicle", , , , , , },
{ BUTTON_CreateIndirect, "Select vehicle", GUI_ID_BUTTON0, , , , , },
}; static void _cbDialogOrder(WM_MESSAGE* pMsg) {//消息窗口回调函数
WM_HWIN hDlg, hWin = pMsg->hWin;
GUI_PID_STATE* State; switch (pMsg->MsgId) {
case WM_INIT_DIALOG:
break;
case WM_NOTIFY_PARENT:
if (pMsg->Data.v == WM_NOTIFICATION_RELEASED) {//此通知消息将在被点击的小工具已被释放时发送
int Id = WM_GetId(pMsg->hWinSrc);
switch (Id) {
case GUI_ID_BUTTON0:
//调用函数生成MessageBox,可以通过拖动标题栏或窗口框来移动消息框
hDlg = MESSAGEBOX_Create(" Computer Win!!! ", "Failed", GUI_MESSAGEBOX_CF_MOVEABLE);
//控制窗口聚焦直至窗口结束的相关设置[如果去掉就无法实现模式窗口的效果
WM_MakeModal(hDlg); /*此函数使窗口在“模态”模式下作业。这意味着指针设备输入将仅发送到“模态”窗口,
或者如果输入位置在模态窗口的矩形内则仅发送到其子窗口。*/
WM_SetFocus(hDlg); //将输入焦点设置到指定窗口
WM_InvalidateWindow(hDlg);//使窗口无效
break;
}
}
break;
case WM_TOUCH:
State = (GUI_PID_STATE*) pMsg->Data.p;
if(State && !State->Pressed)
{
{
hDlg = MESSAGEBOX_Create(" You Win!!! ", "Win", GUI_MESSAGEBOX_CF_MOVEABLE);
//这里把控制模式窗口的注释掉,点击其他区域建立一个非模式窗口
//WM_MakeModal(hDlg);
//WM_SetFocus(hDlg);
//WM_InvalidateWindow(hDlg);
break;
}
}
default:
WM_DefaultProc(pMsg);
}
} static void _cbBkWindow(WM_MESSAGE* pMsg) {//背景窗口回调函数
switch (pMsg->MsgId) {
case WM_PAINT:
GUI_SetBkColor(0x008000);
GUI_SetColor(GUI_WHITE);
GUI_SetFont(&GUI_Font24_ASCII);
GUI_Clear();
GUI_DispStringHCenterAt("DIALOG_NestedModal - Sample", , );
default:
WM_DefaultProc(pMsg);
}
} void Fun(void) {
WM_HWIN hWin; //句柄
GUI_Init(); //初始化
GUI_CURSOR_Show(); //鼠标指针显示
/*
窗口管理器的默认特性是向每个需要重绘的窗口发送一条WM_PAINT。这会导致闪变效应。为抑制这些
每个窗口的闪变效应,可为重绘操作自动使用存储设备。方法为,在创建窗口时设置标记WM_CF_MEMDEV、
使用函数WM_SetCreateFlags()设置默认创建标记,或使用函数WM_EnableMemdev()。WM然后
会将WM_PAINT消息输出重定向到存储设备中,再复制到显示器中。如果整个窗口的内存不够,会自动
使用分段。存储设备只是临时使用,在绘制操作完成后会移除。
*/
WM_SetCreateFlags(WM_CF_MEMDEV); //设置在创建新窗口时用作默认的标记
WM_EnableMemdev(WM_HBKWIN); //启用使用存储设备来重绘窗口
WM_SetCallback(WM_HBKWIN, &_cbBkWindow); //设置窗口的回调例程,然后调用WM_PAINT消息初始化背景
//创建非阻塞式对话框
hWin = GUI_CreateDialogBox(_aDialogOrder, GUI_COUNTOF(_aDialogOrder), &_cbDialogOrder, WM_HBKWIN, , );
while (){
if (!GUI_Exec()){
GUI_X_WAIT_EVENT(); /* Wait for event (keyboard, mouse or whatever) */
}
}
}
[ucgui] 对话框4——模式消息窗口的更多相关文章
- [ucgui] 对话框1——创建对话框
>_<" 小工具和对话框的区别: 小工具可以创建并独立使用,因为它们本质上就是窗口.但是,通常需要使用对话框,它是包含一个或多个小工具的窗口. 对话框通常是一个窗口,它在出现时会 ...
- easyui源码翻译1.32--Messager(消息窗口)
前言 使用$.messager.defaults重写默认值对象.下载该插件翻译源码 消息窗口提供了不同的消息框风格,包含alert(警告框), confirm(确认框), prompt(提示框), p ...
- Messager( 消息窗口) 组件
一. 加载方式消息窗口提供了不同的消息框风格,包含 alert(警告框).confirm(确认框).prompt(提示框).progress(进度框)等.所有消息框都是异步的,用户可以在交互消息之后使 ...
- 第二百零五节,jQuery EasyUI,Messager(消息窗口)组件
jQuery EasyUI,Messager(消息窗口)组件 学习要点: 1.加载方式 2.属性列表 3.方法列表 本节课重点了解 EasyUI 中 Messager(消息窗口)组件的使用方法,这个组 ...
- Winform应用程序实现通用消息窗口
记得我之前发表过一篇文章<Winform应用程序实现通用遮罩层>,是实现了透明遮罩的消息窗口,功能侧重点在动图显示+消息提醒,效果看上去比较的炫,而本篇我又来重新设计通用消息窗口,功能重点 ...
- MahApps.Metro怎么调用消息窗口
网上查看了好多资料,没有找到很清楚明了的结果,经过了多天的研究,无意发现了这个方法来进行全局调用 效果展示:
- messager(消息窗口)
一.$.messager.alert()类似js中的alert('String') 方法参数:title, msg, icon, function(回调函数) 描述:title头部面板标题.msg主要 ...
- WPF的消息机制(二)- WPF内部的5个窗口之隐藏消息窗口
目录 WPF的消息机制(一)-让应用程序动起来 WPF的消息机制(二)-WPF内部的5个窗口 (1)隐藏消息窗口 (2)处理激活和关闭的消息的窗口和系统资源通知窗口 (3)用于用户交互的可见窗口 (4 ...
- PyQt4消息窗口
默认情况下,如果我们单击了窗口标题栏上的X标记,窗口就会被关闭.但是有些时候我们想要改变这一默认行为.比如,我们正在编辑的文件内容发生了变化,这时若单击X标记关闭窗口,编辑器就应当但出确认窗口. #! ...
随机推荐
- 使用SftpDrive+SourceInsight阅读开源代码
在虚拟机环境下使用Linux编写和阅读代码,我之前一直是通过Xshell利用ssh登录至虚拟机从而在命令行下使用vim来进行的.目前有阅读开源代码的需要,虽然vim+ctags+cscope可以完成这 ...
- android 学习(1)
第二次发生这种事了,写完啦,手一抖,丢了,这个写完不用博客园了,怪不得用户越来越少 简写 androidstudio安装注意点 1JDK安装需配置环境变量 2安装遇到haxm错误需要进入BIOS打开C ...
- Allegro16.3约束设置 (转载)
原文地址:http://blog.chinaunix.net/uid-21198646-id-3212383.html 差分对的约束设置 第一步,差分对的设置 差分对的设置有很多方法,下面介绍两种最常 ...
- XML团队介绍发布!
三个臭皮匠,赛过诸葛亮 /********************************************************************/ 成员: 姓名:项浩哲 职务:项目经 ...
- union all 里面的order by
例1: SELECT 1 order2 FROM dual union all SELECT 3 order2 FROM dual union all SELECT 2 order1 FROM dua ...
- POJ 1661 Help Jimmy LIS DP
http://poj.org/problem?id=1661 对板按高度排序后. dp[i][0]表示现在站在第i块板上,向左跑了,的状态,记录下时间和其他信息. O(n^2)LIS: 唯一的麻烦就是 ...
- Android体系结构及activity生命周期
Android的系统架构采用了分层架构的思想,如图1所示.从上层到底层共包括四层,分别是应用程序程序层.应用框架层.系统库和Android运行时和Linux内核 Android的系统架构图 每层 ...
- iOS button 里边的 字体的 摆放
button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft; button.titleEdgeInsets ...
- 如何使用JS脚本从HTML中分离图片标签与文本,替换文本中指定的内容并加粗(原创)
var html='ddfsdfsdfdsd dfsdfsdffds<img _src="http://localhost:8490/60E86EA7-FE7B-44BF-8270-4 ...
- Data Base MongoDB 无法创建抽象类的问题,
无法创建抽象类BsonClassMap.RegisterClassMap 大家都知道抽象类是无法实例化的,即:不能new. 在以下这些情况会遇到这种问题: 1.基类是抽象类: 2.基类是接口: 由于 ...