?? hello.c
字號:
/***************************************************************************** 文件名:Hello.C* 功能:MiniGUI應用例子。* 創建一個主窗口,并在窗口中顯示字符串"Hello World! --ZLGMCU"。* 說明:使用MiniGUI for uC/OS-II,使用ADS 1.2編譯器。****************************************************************************//* 包含MiniGUI的配置頭文件(編譯配置選項) */#include "MiniGUI_config.h"/* 包含MiniGUI頭文件 */#include "common.h"#include "minigui.h"#include "gdi.h"#include "window.h"#include "control.h"/* 主窗口起始位置及大小 */#define MWINDOW_LX 10 /* 窗口左邊框的x值 */#define MWINDOW_TY 50 /* 窗口上邊框的y值 */#define MWINDOW_RX 230 /* 窗口右邊框的x值 */#define MWINDOW_BY 180 /* 窗口下邊框的y值 *//* 主窗口需要顯示的字符串 */static char *hello_str = "Hello World! --ZLGMCU";HWND hMainWnd; // 主窗口句柄/***************************************************************************** 名稱:WinProc()* 功能:主窗口過程函數。* 處理MSG_PAINT消息,在窗口中顯示hello_str字符串。* 入口參數:hWnd 窗口句柄* message 消息* wParam 消息附加參數1(對于不同的消息,有不同的用途)* lParam 消息附加參數2(對于不同的消息,有不同的用途)* 出口參數:消息已處理則返回0。****************************************************************************/static int WinProc(HWND hWnd, int message, WPARAM wParam, LPARAM lParam){ HDC hdc; // 定義一個圖形設備上下文對象,輸出字符時需要。 RECT rc; // 定一個RECT對象(矩形) switch(message) { case MSG_PAINT: hdc = BeginPaint(hWnd); // 獲得設備hdc //TextOut(hdc, 10, 50, hello_str);// 可以使用TextOut函數在指定位置上顯示字符串 GetClientRect(hWnd, &rc); // 取得窗口客戶區矩形 DrawText(hdc, hello_str, -1, &rc, DT_LEFT); // 輸出hello_str字符串 EndPaint(hWnd, hdc); // 釋放設備hdc break; case MSG_CLOSE: DestroyMainWindow(hWnd); // 銷毀主窗口 PostQuitMessage(hWnd); // 發送MSG_QUIT消息,通知"消息循環"結束 break; default: return(DefaultMainWinProc(hWnd, message, wParam, lParam)); } return(0);}/***************************************************************************** 名稱:InitMainWindow()* 功能:建立主窗口。* 入口參數:無* 出口參數:建立成功返回1,否則返回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 = "MiniGUI"; // 窗口標題 window_info.hMenu = 0; // 無菜單 window_info.hCursor = GetSystemCursor(0); // 設置窗口光標 window_info.hIcon = 0; // 無窗口圖標 window_info.MainWindowProc = WinProc; // 窗口過程函數 window_info.lx = MWINDOW_LX; // 窗口的位置及大小設置 window_info.ty = MWINDOW_TY; window_info.rx = MWINDOW_RX; window_info.by = MWINDOW_BY; 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);}/***************************************************************************** 名稱:MiniGUIMain()* 功能:MiniGUI程序入口點。* 入口參數:argc 參數個數* argv 參數字符串指針* 出口參數:返回0。****************************************************************************/int MiniGUIMain(int argc, const char *argv[]){ MSG Msg;/* 雖然MiniGUI for uC/OS-II不支持"MiniGUI-Lite模式", 但為了保持代碼的移植性,此段不要刪除 */#ifdef _LITE_VERSION SetDesktopRect(0,0, 800,600);#endif InitMainWindow(); // 建立主窗口 ShowWindow(hMainWnd, SW_SHOWNORMAL); // 顯示主窗口 /* 消息循環 */ while(GetMessage(&Msg, hMainWnd)) { TranslateMessage(&Msg); DispatchMessage(&Msg); } MainWindowThreadCleanup(hMainWnd); return(0);}/* 定義桌面接口函數 */#ifndef _LITE_VERSION #include "dti.c"#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -