关于minigui的皮肤窗口
2008-08-08 13:29
330 查看
1.皮肤的构成
MiniGUI 中的皮肤界面主要由包含在皮肤窗口中的皮肤主界面和各种皮肤元素组成。皮
肤窗口是皮肤所依附的窗口,皮肤必须依附在某个窗口上才能显示出来。皮肤主界面又是皮
肤元素的依附所在。而皮肤元素是指构成皮肤界面的各种界面元素,包括按钮(button)、标
签(label)和滑条(slider)等,当然,它们基本上都是用图片来显示的。
2.基本框架
(1)头文件
/*在使用minigui时,所必须的头文件*/
#include <minigui/common.h>
#include <minigui/minigui.h>
#include <minigui/gdi.h>
#include <minigui/window.h>
#include <minigui/control.h>
/***********************/
#include <minigui/mgext.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <unistd.h>
#include <pwd.h>
#include <stdarg.h>
#include <errno.h>
/*使用皮肤窗口要到的头文件*/
#include <minigui/skin.h>
(2)定义控件ID
(3)定义minigui控件
static CTRLDATA CtrlMyDate[] ={};
(4)定义皮肤元素数组
static skin_item_t skin_main_items [] ={};
要想在皮肤窗口下使用minigui普通控件,其风格为 SI_TYPE_CONTROL
(5)定义皮肤
skin_head_t main_skin =
{
"播放器",
SKIN_STYLE_TOOLTIP,
NULL, NULL,
0, 11, skin_main_items, FALSE
};
(6)位图数组
(7)皮肤事件回调函数
(8)皮肤窗口消息回调函数
(9)入口函数
int MiniGUIMain (int argc, const char *argv[])
{
MSG msg;
HWND hWndMain;
#ifdef _LITE_VERSION
SetDesktopRect( 0, 0, 640, 480 );
#endif
if (!InitMiniGUIExt()) {
return 2;
}
load_skin_bmps (&main_skin, TRUE); /* 装载位图资源 */
if ( !skin_init (&main_skin, main_event_cb, msg_event_cb) ){ /* 初始化皮肤 */
printf ("skin init fail !/n");
}
else{
hWndMain = create_skin_main_window (&main_skin,
HWND_DESKTOP, 20, 20, 260, 340,
FALSE);
hWndMain_Record=hWndMain;
while (GetMessage (&msg, hWndMain)) {
TranslateMessage (&msg);
DispatchMessage (&msg);
}
MainWindowCleanup (hWndMain);
skin_deinit (&main_skin); /* 撤销皮肤 */
}
load_skin_bmps (&main_skin, FALSE); /* 卸载位图资源 */
MiniGUIExtCleanUp ();
return 0;
}
MiniGUI 中的皮肤界面主要由包含在皮肤窗口中的皮肤主界面和各种皮肤元素组成。皮
肤窗口是皮肤所依附的窗口,皮肤必须依附在某个窗口上才能显示出来。皮肤主界面又是皮
肤元素的依附所在。而皮肤元素是指构成皮肤界面的各种界面元素,包括按钮(button)、标
签(label)和滑条(slider)等,当然,它们基本上都是用图片来显示的。
2.基本框架
(1)头文件
/*在使用minigui时,所必须的头文件*/
#include <minigui/common.h>
#include <minigui/minigui.h>
#include <minigui/gdi.h>
#include <minigui/window.h>
#include <minigui/control.h>
/***********************/
#include <minigui/mgext.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <unistd.h>
#include <pwd.h>
#include <stdarg.h>
#include <errno.h>
/*使用皮肤窗口要到的头文件*/
#include <minigui/skin.h>
(2)定义控件ID
(3)定义minigui控件
static CTRLDATA CtrlMyDate[] ={};
(4)定义皮肤元素数组
static skin_item_t skin_main_items [] ={};
要想在皮肤窗口下使用minigui普通控件,其风格为 SI_TYPE_CONTROL
(5)定义皮肤
skin_head_t main_skin =
{
"播放器",
SKIN_STYLE_TOOLTIP,
NULL, NULL,
0, 11, skin_main_items, FALSE
};
(6)位图数组
(7)皮肤事件回调函数
(8)皮肤窗口消息回调函数
(9)入口函数
int MiniGUIMain (int argc, const char *argv[])
{
MSG msg;
HWND hWndMain;
#ifdef _LITE_VERSION
SetDesktopRect( 0, 0, 640, 480 );
#endif
if (!InitMiniGUIExt()) {
return 2;
}
load_skin_bmps (&main_skin, TRUE); /* 装载位图资源 */
if ( !skin_init (&main_skin, main_event_cb, msg_event_cb) ){ /* 初始化皮肤 */
printf ("skin init fail !/n");
}
else{
hWndMain = create_skin_main_window (&main_skin,
HWND_DESKTOP, 20, 20, 260, 340,
FALSE);
hWndMain_Record=hWndMain;
while (GetMessage (&msg, hWndMain)) {
TranslateMessage (&msg);
DispatchMessage (&msg);
}
MainWindowCleanup (hWndMain);
skin_deinit (&main_skin); /* 撤销皮肤 */
}
load_skin_bmps (&main_skin, FALSE); /* 卸载位图资源 */
MiniGUIExtCleanUp ();
return 0;
}
相关文章推荐
- MiniGUI使用之关于皮肤窗口的skin_init和skin_deinit的疑问
- 关于minigui的皮肤控件无法显示问题
- ubuntu 关于屏蔽USB插入时,弹出窗口的解决方案!!
- 关于ios 8 7 下的模态窗口大小的控制 代碼+場景(mainstoryboard)( Resizing UIModalPresentationFormSheet )
- 关于窗口跳转,一个很好的例子
- vim关于winmanager集成MiniBufExplorer后FileExplorer窗口大小的问题
- 关于Activity生命周期学习之窗口化一个Activity
- 关于子窗口与父窗口传值问题
- 关于使用mini-KMS_Activator破解Office2010时CMD窗口一闪而过的问题
- 关于vs2010运行C程序时,运行结果窗口一闪而过的问题
- 关于setOpaque()方法对窗口的设置(转)
- 关于Qt中LOGO与窗口图标显示问题的总结
- /LGC窗口管理/MiniGUI 体系结构
- 关于对父类窗口的操作:window.open相关
- Minigui学习--窗口用到的一些函数
- 关于渐变窗口的右下角显示问题
- 关于jsp网页弹出窗口
- 关于showModalDialog窗口刷新会弹出新窗口的解决办法
- 关于获取各种浏览器可见窗口大小的一点点研究