⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 drawdemo.c

📁 s3c44b0上用的MINIGUI源代码
💻 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 + -