深入学习minigui!

     深入的学习minigui了哦!说是深入,其实还是非常的肤浅,原因就一个缺少所谓的资料!下面把自己的一个资料贴出来:(还需要很好的修改哦!还有挂程序,任务还是很艰巨的哦!)

 

#include <string.h>

#include <minigui/common.h>

#include <minigui/minigui.h>

#include <minigui/gdi.h>

#include <minigui/window.h>

#include <minigui/control.h>

 

#define  IDC_DISP1       1001

HWND hMainWnd;

 

 

/* setting the dlg attrib */

static  DLGTEMPLATE  DlgInitProgress =

{   WS_BORDER | WS_CAPTION,

    WS_EX_NONE,

    20, 50, 200, 130,

    "212ARM智能家居系统!",

    0,

    0,

    3,

    NULL,

    0   

};

 

/* control for dlg */

static CTRLDATA CtrlInitData[] =

{  

    {   "static",

        WS_VISIBLE | SS_SIMPLE,

       50,30,  120, 16,

       IDC_DISP1,

       "请选择控制模式!",

       0,

        WS_EX_NONE

    },

    {   "button",

       WS_TABSTOP | WS_VISIBLE | BS_DEFPUSHBUTTON,

       20,70,  70,25,

       IDOK,

       "本地",

       0,

       WS_EX_NONE

    },

    {   "button",

       WS_TABSTOP | WS_VISIBLE,

       110,70, 70,25,

       IDCANCEL,

       "远程",

       0,

       WS_EX_NONE

    }

};

 

 

static int  DialogBoxProc(HWND hdlg, int message, WPARAM wParam, LPARAM lParam)

{   switch(message)

    {   case MSG_INITDIALOG:

           return(1);

        

        case MSG_COMMAND:

          switch(wParam)

          {   case IDOK:

              case IDCANCEL:

                 EndDialog(hdlg, wParam);

                  DestroyAllControls(hdlg);

                 break;

          }

          break;

    }

   

    return(DefaultDialogProc(hdlg, message, wParam, lParam));

}

 

static void  InitDialogBox(HWND hWnd)

{   DlgInitProgress.controls = CtrlInitData;

    DialogBoxIndirectParam(&DlgInitProgress, hWnd, DialogBoxProc, 0L);

}

 

 

//正在进行远程控制(修改后);

static char *hello_str = "正在进行远程控制!";

static int  WinProc(HWND hWnd, int message, WPARAM wParam, LPARAM lParam)

{   HDC  hdc;

   

    switch(message)

    {  case MSG_PAINT:

         hdc = BeginPaint(hWnd);

         TextOut(hdc, 50, 50, hello_str);

         EndPaint(hWnd, hdc);

         break;

 

       case MSG_CLOSE:

         DestroyMainWindow(hWnd);

         PostQuitMessage(hWnd);

         break;

 

       default:

         return(DefaultMainWinProc(hWnd, message, wParam, lParam));

    }

 

    return(0);

}

 

 

int InitMainWindow(void)

{   MAINWINCREATE  window_info;

 

    window_info.dwStyle = WS_VISIBLE | WS_BORDER | WS_CAPTION;

    window_info.dwExStyle = WS_EX_NONE;

    window_info.spCaption = "友情提示!";

    window_info.hMenu = 0;

    window_info.hCursor = GetSystemCursor(0);

    window_info.hIcon = 0;

    window_info.MainWindowProc = WinProc;

    window_info.lx = 40;

    window_info.ty = 50;

    window_info.rx = 238;

    window_info.by = 200;

    window_info.iBkColor = COLOR_lightwhite;

    window_info.dwAddData = 0;

    window_info.hHosting = HWND_DESKTOP;

   

    hMainWnd = CreateMainWindow (&window_info);

    if (hMainWnd == HWND_INVALID) return(0);

      else  return(1);

}

 

 

int  MiniGUIMain(int argc, const char *argv[])

{   MSG Msg;

 

#ifdef _LITE_VERSION

    SetDesktopRect(0,0, 800,600);

#endif

 

     InitDialogBox(HWND_DESKTOP);

 

    InitMainWindow();

    ShowWindow(hMainWnd, SW_SHOWNORMAL);

 

    while (GetMessage(&Msg, hMainWnd))

    {   TranslateMessage(&Msg);

        DispatchMessage(&Msg);

    }

   

    MainWindowThreadCleanup (hMainWnd);

 

    return(0);

}

 

#ifndef _LITE_VERSION

       #include <minigui/dti.c>

#endif

(缺少:返回的程序哦!缺少挂载程序哦)!已经有几天哦,加油!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目录第1章 在PC上安装双系统 1 1.1前期准备 1 1.2安装Fedora10过程详解 1 1.3安装Fedora10后的配置 9 1.3.1外观及Gnome桌面的使用 9 1.3.2网卡配置及连接IPV6网站 14 1.3.3升级及安装软件 17 1.3.4系统服务配置 18 1.3.5安装Linux下的虚拟机 19 1.4修复双系统启动 22 第2章 针对ARM目标板的交叉开发 24 2.1交叉编译环境 24 2.2交叉调试方法 25 2.3共享库相关 28 2.3.1基本的共享库使用知识点 28 2.3.2交叉编译的共享库 29 第3章 Linux下的串口使用 32 3.1 Linux下的串口设备 32 3.1.1串口简介 32 3.1.2串口与Linux终端设备、控制台 34 3.2 Linux下的“超级终端”工具 38 3.2.1 C-kermit的安装与使用 38 3.2.2简单的串口单双工通信实验 40 3.3串口编程总结 42 3.3.1相关数据结构 42 3.3.2相关函数 46 3.3.2串口编程实例 54 第4章 NFS交叉开发环境 59 4.1配置NFS服务 59 4.1.1设置共享目录 59 4.1.2启动和停止nfs 服务 59 4.2 NFS根文件系统启动 59 4.3 NFS交叉编译 60 第5章 创建根文件系统 62 5.1移植Busybox 62 5.2移植Glibc库 63 5.3完善根文件系统 63 5.4制作/烧写yaffs映像文件 66 第6章 MiniGUI移植与开发 67 6.1 MiniGUI在PC机上的开发环境的建立 67 6.1.1安装QVFB 67 6.1.2在PC上安装MiniGUI 68 6.2 MiniGUI在S3C2440上的开发环境的建立 71 6.2.1交叉编译相关的开源库 71 6.2.2针对本系统的MiniGUI输入引擎设计 73 6.2.3交叉编译并安装MiniGUI 74 6.2.4在mini2440开发板上运行MiniGUI示例程序 76 6.3 MiniGUI编程小结 78 6.3.1创建MiniGUI程序 78 6.3.2编译MiniGUI程序 81 6.3.3对话框程序 83 6.3.4自定义控件编写 88 6.3.5加入自己的线程 92 第7章 燃气监测系统的开发、调试过程 94 7.1项目简介 94 7.2开发设计 94 7.3调试过程 96 参考文献 100 附录 102 附录1电子科技大学清水河校区802.x上网认证脚本——作者lili(可以用来做学习Shell编程的实例哦) 102 附录2针对mini2440开发板的输入引擎文件mini2440.h和mini2440.c(原创) 108 附录3 VIM配置文件~/.vimrc内容 116

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值