📄 drawdemo.c
字号:
/*** $Id: drawdemo.c,v 1.7 2005/02/05 07:15:49 DS Exp $**** Listing 2.1**** drawdemo.c: Sample program for MiniGUI ** MiniGUI draw API**** License: GPL*/#include <stdio.h>#include <minigui/common.h>#include <minigui/minigui.h>#include <minigui/gdi.h>#include <minigui/window.h>#define DEFAULT_X 320#define DEFAULT_Y 240#define DEFAULT_WIDTH 320#define DEFAULT_HEIGHT 240static int offset = 0;static int offset_v = 0;static RECT rcCircle = {0,0, 320, 240};/*static void DrawDemo (HWND hwnd, HDC hdc){ int x = DEFAULT_X, y= DEFAULT_Y; int tox = DEFAULT_WIDTH, toy = DEFAULT_WIDTH; int count; unsigned int nr_colors = GetGDCapability (hdc, GDCAP_COLORNUM); SetPenColor (hdc, PIXEL_green); MoveTo (hdc, 0, 0); LineTo (hdc, 320, 240); SetPenColor (hdc, PIXEL_red); Circle(hdc, 151, 140, 50); SetPenColor (hdc, PIXEL_cyan); Rectangle (hdc, 20, 30, 150, 150); SetBrushColor (hdc, PIXEL_red); FillBox (hdc, 230, 50, 80, 90); } */static int DrawProc(HWND hWnd, int message, WPARAM wParam, LPARAM lParam){ HDC hdc; switch (message) { case MSG_PAINT: hdc = BeginPaint (hWnd);// DrawDemo(hWnd, hdc);// ClipRectIntersert (hdc, &rcCircle); SetBrushColor (hdc, PIXEL_red); FillCircle (hdc, 140+offset, 120+offset_v, 50); EndPaint (hWnd, hdc); return 0; case MSG_CLOSE: DestroyMainWindow (hWnd); PostQuitMessage (hWnd); return 0; case MSG_KEYDOWN: printf("Press %d\n",wParam); switch(wParam) { case SCANCODE_CURSORBLOCKLEFT: offset -= 10; InvalidateRect (hWnd, &rcCircle, TRUE); break; case SCANCODE_CURSORBLOCKRIGHT: offset += 10; InvalidateRect (hWnd, &rcCircle, TRUE); break; case SCANCODE_CURSORBLOCKUP: offset_v -= 10; InvalidateRect (hWnd, &rcCircle, TRUE); break; case SCANCODE_CURSORBLOCKDOWN: offset_v += 10; InvalidateRect (hWnd, &rcCircle, TRUE); break; } break; case MSG_CHAR: printf("Press %d\n",wParam);/* switch (wParam){ case 'a': case 'A': offset -= 10;// InvalidateRect (GetParent (hWnd), &rcCircle, TRUE); InvalidateRect (hWnd, &rcCircle, TRUE); break; case 'b': case 'B': offset += 10;// InvalidateRect (GetParent (hWnd), &rcCircle, TRUE); InvalidateRect (hWnd, &rcCircle, TRUE); break; }*/ } return DefaultMainWinProc(hWnd, message, wParam, lParam);}int MiniGUIMain (int argc, const char* argv[]){ MSG Msg; HWND hMainWnd; MAINWINCREATE CreateInfo;#ifdef _LITE_VERSION SetDesktopRect(0, 0, 1024, 768);#endif CreateInfo.dwStyle = WS_VISIBLE | WS_BORDER | WS_CAPTION; CreateInfo.dwExStyle = WS_EX_NONE; CreateInfo.spCaption = "达盛DrawDemo"; CreateInfo.hMenu = 0; CreateInfo.hCursor = GetSystemCursor(0); CreateInfo.hIcon = 0; CreateInfo.MainWindowProc = DrawProc; CreateInfo.lx = 0; CreateInfo.ty = 0; CreateInfo.rx = 320; CreateInfo.by = 240; CreateInfo.iBkColor = COLOR_lightwhite; CreateInfo.dwAddData = 0; CreateInfo.hHosting = HWND_DESKTOP; hMainWnd = CreateMainWindow (&CreateInfo); if (hMainWnd == HWND_INVALID) return -1; ShowWindow(hMainWnd, SW_SHOWNORMAL); while (GetMessage(&Msg, hMainWnd)) { TranslateMessage(&Msg); DispatchMessage(&Msg); } MainWindowThreadCleanup (hMainWnd); return 0;}#ifndef _LITE_VERSION#include <minigui/dti.c>#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -