>_<" 这里主要是窗口小工具Framewin的用法介绍,包括创建背景窗口及其消息回调函数,创建Frame窗口并设置其回调函数,这里一些其他的功能被我注释掉了,有向状态栏添加最大最小按钮的操作,改变标题文本相关设置,设置标题可见性等~注意这里GUI_Delay();很重要,否则会黑屏~

aaarticlea/png;base64,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9oxCBgBQFD+yBACILFzI5vu/LAEAiuLvkAEARBYuZP7pJACAwoQL2XKFDACgKOFCtkIhAwAoSriQrVTIAACKopABAESmkAEARKaQAQBEppABAESmkAEARKaQAQBEppABAESmkAEARKaQAQBEppABAESmkAEARKaQAQBEppABAESmkAEARKyvqVwAAAHLSURBVKaQAQBEppABAESmkAEARKaQAQBEppABAESmkAEARKaQAQBEppABAESmkAEARKaQAQBEppABAESmkAEARKaQAQBEppABAESmkAEARKaQAQBEppABAESmkAEARKaQAQBEppABAESmkAEARBYuZCsUMgCAooQL2XKFDACgKOFCtkQhAwAoSriQLVLIAACKEi5k8xUyAICihAvZs8sVMgCAgoQL2TNLFTIAgIIoZAAAkTX4keUyhQwAoCDhQjZvhUIGAFCQcCFb4P+yBAAoir9DBgAQWbiQ9StkAABFCRcy/3QSAEBhFDIAgMgUMgCAyBQyAIDI/FI/AEBk/uwFAEBk4UK2UCEDAChKuJDNV8gAAIoSLmT+LUsAgMIoZAAAkSlkAACR+R0yAIDIFDIAgMgUMgCAyPwOGQBAZOFC9uxyhQwAoCDhQvb0EoUMAKAg4UI2Z7FCBgBQkHAh61uokAEAFEQhAwCIrEEhW6SQAQAUxO+QAQBE1vL/ZSkiIiIiDztN/g6ZiIiIiDzsNPmnk0RERETkYWd07H5poUImIiIiEi+jY/dLixUyERERkXgZHbtf6lfIREREROJldOx+aclEIRMRERGRKPn/x0vWQilX09IAAAAASUVORK5CYII=" alt="" width="440" height="279" />

 #include <stddef.h>
#include <string.h>
#include "GUI.h"
#include "FRAMEWIN.h" #define SPEED 1200
#define MSG_CHANGE_MAIN_TEXT (WM_USER + 0) static FRAMEWIN_Handle _hFrame;
static WM_CALLBACK* _pcbOldFrame;
static char _acMainText[];
static int _LockClose = ; //Frame窗口消息回调函数
static void _cbFrame(WM_MESSAGE * pMsg) {
switch (pMsg->MsgId) {
case WM_NOTIFY_PARENT:
if (pMsg->Data.v == WM_NOTIFICATION_RELEASED) {
int Id = WM_GetId(pMsg->hWinSrc); /* Id of widget */
if (Id == GUI_ID_CLOSE) {
if (_LockClose) {
return;
}
_hFrame = ;
}
}
break;
}
if (_pcbOldFrame) {
(*_pcbOldFrame)(pMsg);
}
} //背景窗口回调函数
static void _cbBkWindow(WM_MESSAGE * pMsg) {
switch (pMsg->MsgId) {
case MSG_CHANGE_MAIN_TEXT:
strcpy(_acMainText, pMsg->Data.p);
WM_InvalidateWindow(pMsg->hWin);
break;
case WM_PAINT:
GUI_SetBkColor(GUI_BLACK);
GUI_Clear();
GUI_SetColor(GUI_WHITE);
GUI_SetFont(&GUI_Font24_ASCII);
GUI_DispStringHCenterAt("WIDGET_FrameWin - Sample", , );
GUI_SetFont(&GUI_Font8x16);
GUI_DispStringHCenterAt(_acMainText, , );
GUI_SetFont(&GUI_Font6x8);
GUI_DispStringHCenterAt("The function FRAMEWIN_Create creates both the\n"
"frame window and the client window.", , );
break;
default:
WM_DefaultProc(pMsg);
}
} static void _DemoFramewin(void) {
int i;
WM_HWIN hChild;
/* Set callback for background window */
WM_SetCallback(WM_HBKWIN, _cbBkWindow); //背景窗口消息回调函数
_hFrame = FRAMEWIN_Create("Frame window", , WM_CF_SHOW, , , , );
/* Set callback for frame window */
_pcbOldFrame = WM_SetCallback(_hFrame, _cbFrame);
// /* Set moveable */
FRAMEWIN_SetMoveable(_hFrame, );
// /*给窗口加入几个最大最小化按钮 */
// FRAMEWIN_AddCloseButton(_hFrame, 0, 0);
// FRAMEWIN_AddMaxButton(_hFrame, FRAMEWIN_BUTTON_RIGHT, 0);
// FRAMEWIN_AddMinButton(_hFrame, FRAMEWIN_BUTTON_RIGHT, 2);
/* Modify frame window attributes */
FRAMEWIN_SetActive(_hFrame, );
// FRAMEWIN_SetFont(_hFrame, &GUI_Font16B_ASCII);
// FRAMEWIN_SetTitleHeight(_hFrame, 20);
//
// FRAMEWIN_SetTextColor(_hFrame, GUI_YELLOW);
// FRAMEWIN_SetTextAlign(_hFrame, GUI_TA_HCENTER);
// FRAMEWIN_Minimize(_hFrame);
// FRAMEWIN_Maximize(_hFrame);
// FRAMEWIN_Restore(_hFrame);
// for (i = 0; i < 5; i++) {
// FRAMEWIN_SetTitleVis(_hFrame, 0);
// GUI_Delay(200);
// FRAMEWIN_SetTitleVis(_hFrame, 1);
// GUI_Delay(200);
// }
// /* Time to play with frame window */
while(){
GUI_Delay();
}
// _LockClose = 0;
// if (_hFrame) {
// FRAMEWIN_Delete(_hFrame);
// }
} void test(void) {
GUI_Init();
WM_EnableMemdev(WM_HBKWIN);
_DemoFramewin();
}

[ucgui] 对话框8——Framewin小工具的更多相关文章

  1. [ucgui] 对话框5——鼠标位置和移动窗口

    >_<" 这节主要是获取鼠标的位置和把窗口设置为可以移动.其中设置窗口可以移动用FRAMEWIN_SetMoveable(hFrameWin, 1)就行了.而获得鼠标位置则是利用 ...

  2. [ucgui] 对话框2——小窗口初始化与消息响应

    >_<" 上一节已经说过,创建过得窗口虽然可见,但是它们是以 “空”的形式出现的.这是因为对话框过程函数尚未包含初始化单个元素的代码.小工具的初始值.由它们所引起的行为以及它们之 ...

  3. [ucgui] 对话框3——GUIBuilder生成界面c文件及修改

    >_<" 其实生成GUI有相应的工具:

  4. Windows下好用到必须开机自启的小工具

    折腾过linux,黑苹果,最后还是回到了盖茨大叔的windows.得出的结论是,日常使用的话,折腾Linux还不如把精力去拿去折腾windows.分享下折腾的成果,介绍下一些很不错的小工具.     ...

  5. [ucgui] 对话框4——模式消息窗口

    >_<" 这里实现点击灰色窗口的按钮出现一个模式消息窗口,点击OK之后才能再聚焦到灰窗口:点击灰窗口除了按钮的地方,弹出一个非模式窗口.

  6. [ucgui] 对话框1——创建对话框

    >_<" 小工具和对话框的区别: 小工具可以创建并独立使用,因为它们本质上就是窗口.但是,通常需要使用对话框,它是包含一个或多个小工具的窗口. 对话框通常是一个窗口,它在出现时会 ...

  7. C#照片批量压缩小工具

    做了一个照片批量压缩工具,其实核心代码几分钟就完成了,但整个小工具做下来还是花了一天的时间.中间遇到了大堆问题,并寻求最好的解决方案予以解决.现在就分享一下这个看似简单的小工具所使用的技术. 软件界面 ...

  8. js 创建书签小工具之理论

    我们一直在寻找增加浏览体验的方法,有的方法众所周知,有的则鲜为人知.我原本认为书签小工具属于后者,非常令人讨厌的东西.令我非常懊恼的是我发现在这个问题上我完全是错误的.它并不是令人厌烦的,而是以用户为 ...

  9. 推荐一款不错的dialog小工具:artDialog

    推荐一款不错的dialog小工具, 地址:http://www.planeart.cn/demo/artDialog/_doc/labs.html 相关介绍例如以下: artDialog是一个基于ja ...

随机推荐

  1. 8.1H5学习笔记

    内嵌框架 说明: 属性 属性值 说明 width px,% 指定框架的宽度 height px,% 指定框架的高度 scrolling yes,no,auto 是否显示滚动条 frameborder ...

  2. 117 FP页面无法查看

    用户表示117 FP页面无法查看,提示如下错误: 跟进: 1.进入FP服务器可看到以下错误 这个错误的框就表示FP的一个进程报错,自动断掉了,需要重新跑一次EXIT,INIT,PLAN,EXPORT, ...

  3. union all 里面的order by

    例1: SELECT 1 order2 FROM dual union all SELECT 3 order2 FROM dual union all SELECT 2 order1 FROM dua ...

  4. java打包遇到问题java.io.IOException: invalid header field

    问题:java打包时报以下错误 $ jar -cvmf main.txt test.jar Shufile1.class java.io.IOException: invalid header fie ...

  5. 把表里的数据转换为insert 语句

    当表里面有数据时,怎么把表里的数据转换为insert 语句 (从别人那里看来的用SQLServer 2008 R2测试可用) CREATE PROC spGenInsertSQL @TableName ...

  6. 基于Java的WebSocket推送【转载】

    http://www.cnblogs.com/tonyY/p/5495417.html

  7. python 基础理解...

    class obj(object): def __getattribute__(self, *args, **kwargs): # 访问属性就会被调用 print("__getattribu ...

  8. oracle 驱动安装备忘

    ubuntu 从oracle官网下载两个必须的rpm包(这里选择的是version12.1.0.2.0, 64位操作系统) oracle-instantclient12.1-basic-12.1.0. ...

  9. Eclipse报错:Setting property 'source' to 'org.eclipse.jst.jee.server:test1' did no

    最近把Eclipse的maven插件从m2eclipse更新到m2e后出了一些莫名其妙的的问题.今天又出了一个,就是Eclipse新建的Maven Web project在tomcat里启动后报错,具 ...

  10. mvc深入理解

    对于v和c好理解, 对于model分为数据对象模型和业务逻辑模型,一般为一个类,数据对象模型包含对一个具体数据表的相关操作,业务逻辑模型为处理一些业务逻辑.