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

📄 drawdemo2.c

📁 s3c44b0上用的MINIGUI源代码
💻 C
字号:
/* ** $Id: menudemo.c,v 1.7 2003/06/13 07:15:49 weiym Exp $**** Listing 2.1**** helloworld.c: Sample program for MiniGUI Programming Guide**      The first MiniGUI application.**** Copyright (C) 2003 Feynman Software.**** License: GPL*/#include <stdio.h>#include <minigui/common.h>#include <minigui/minigui.h>#include <minigui/gdi.h>#include <minigui/window.h>#include <minigui/control.h>#include "menudemo.h"static void DrawDemo (HWND hwnd, HDC hdc){    int x = 320, y= 240;    int tox = 320, toy = 240;    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, 150, 140, 50);    SetPenColor (hdc, PIXEL_cyan);//    Ellipse (hdc, 90, 80, 80, 40);    Rectangle (hdc, 20, 30, 150, 150);    SetBrushColor (hdc, PIXEL_red);    FillBox (hdc, 230, 50, 80, 90);    }static int MenuWinProc(HWND hWnd, int message, WPARAM wParam, LPARAM lParam){    HDC hdc;    switch (message) {        case MSG_PAINT:            hdc = BeginPaint (hWnd);            TextOut (hdc, 100, 100, "Hello, world!");	    DrawDemo (hWnd, hdc);            EndPaint (hWnd, hdc);//	    TrackMenuBar (hWnd, 0);            return 0;        case MSG_CLOSE:            DestroyMainWindow (hWnd);            PostQuitMessage (hWnd);            return 0;    }    return DefaultMainWinProc(hWnd, message, wParam, lParam);}static HMENU createpmenuabout (void){    HMENU hmnu;    MENUITEMINFO mii;    memset (&mii, 0, sizeof(MENUITEMINFO));    mii.type        = MFT_STRING;    mii.id          = 0;    mii.typedata    = (DWORD)"About";    hmnu = CreatePopupMenu (&mii);        memset (&mii, 0, sizeof(MENUITEMINFO));    mii.type        = MFT_STRING ;    mii.state       = 0;    mii.id          = IDM_ABOUT;    mii.typedata    = (DWORD)"About MiniGUI...";    InsertMenuItem(hmnu, 3, TRUE, &mii);    return hmnu;}static HMENU createpmenudialogs (void){    HMENU hmnu;    MENUITEMINFO mii;    memset (&mii, 0, sizeof(MENUITEMINFO));    mii.type        = MFT_STRING;    mii.id          = 0;    mii.typedata    = (DWORD)"Dialogs";    hmnu = CreatePopupMenu (&mii);        mii.type        = MFT_STRING ;    mii.state       = 0;    mii.id          = IDM_DIALOG1;    mii.typedata    = (DWORD)"Dialog1...";    InsertMenuItem(hmnu, 0, TRUE, &mii);         mii.type        = MFT_STRING ;    mii.state       = 0;    mii.id          = IDM_DIALOG2;    mii.typedata    = (DWORD)"Dialog2...";    InsertMenuItem(hmnu, 1, TRUE, &mii);          mii.type        = MFT_STRING ;    mii.state       = 0;    mii.id          = IDM_DIALOG3;    mii.typedata    = (DWORD)"Dialog3...";    InsertMenuItem(hmnu, 2, TRUE, &mii);      mii.type        = MFT_STRING;    mii.state       = 0;    mii.id          = IDM_DIALOG4;    mii.typedata    = (DWORD)"Dialog4...";    InsertMenuItem(hmnu, 3, TRUE, &mii);      mii.type        = MFT_STRING;    mii.state       = 0;    mii.id          = IDM_DIALOG5;    mii.typedata    = (DWORD)"Property Sheet...";    InsertMenuItem(hmnu, 4, TRUE, &mii);      return hmnu;}static HMENU createpmenufile (void){    HMENU hmnu;    MENUITEMINFO mii;    memset (&mii, 0, sizeof(MENUITEMINFO));    mii.type        = MFT_STRING;    mii.id          = 0;    mii.typedata    = (DWORD)"File";    hmnu = CreatePopupMenu (&mii);        memset (&mii, 0, sizeof(MENUITEMINFO));    mii.type        = MFT_STRING;    mii.state       = 0;    mii.id          = IDM_NEW;    mii.typedata    = (DWORD)"New";    InsertMenuItem(hmnu, 0, TRUE, &mii);        mii.type        = MFT_STRING;    mii.state       = 0;    mii.id          = IDM_OPEN;    mii.typedata    = (DWORD)"Open...";    InsertMenuItem(hmnu, 1, TRUE, &mii);        mii.type        = MFT_STRING;    mii.state       = 0;    mii.id          = IDM_SAVE;    mii.typedata    = (DWORD)"Save";    InsertMenuItem(hmnu, 2, TRUE, &mii);        mii.type        = MFT_STRING;    mii.state       = 0;    mii.id          = IDM_SAVEAS;    mii.typedata    = (DWORD)"Save As...";    InsertMenuItem(hmnu, 3, TRUE, &mii);    mii.type        = MFT_STRING;    mii.state       = 0;    mii.id          = IDM_CLOSE;    mii.typedata    = (DWORD)"Close";    InsertMenuItem(hmnu, 4, TRUE, &mii);        mii.type        = MFT_SEPARATOR;    mii.state       = 0;    mii.id          = 0;    mii.typedata    = 0;    InsertMenuItem(hmnu, 5, TRUE, &mii);    mii.type        = MFT_STRING;    mii.state       = 0;    mii.id          = IDM_EXIT;    mii.typedata    = (DWORD)"Exit";    InsertMenuItem(hmnu, 6, TRUE, &mii);    return hmnu;}static HMENU createmenu (void){    HMENU hmnu;    MENUITEMINFO mii;    hmnu = CreateMenu();    memset (&mii, 0, sizeof(MENUITEMINFO));    mii.type        = MFT_STRING;    mii.id          = 100;    mii.typedata    = (DWORD)"File";    mii.hsubmenu    = createpmenufile ();    InsertMenuItem(hmnu, 0, TRUE, &mii);    mii.type        = MFT_STRING;    mii.id          = 110;    mii.typedata    = (DWORD)"Dialogs";    mii.hsubmenu    = createpmenudialogs ();    InsertMenuItem(hmnu, 1, TRUE, &mii);        mii.type        = MFT_STRING;    mii.id          = 120;    mii.typedata    = (DWORD)"About";    mii.hsubmenu    = createpmenuabout ();    InsertMenuItem(hmnu, 2, TRUE, &mii);                       return hmnu;}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.dwStyle = WS_SYSMENU | WS_BORDER | WS_CAPTION;//    CreateInfo.dwExStyle = WS_EX_NONE;    CreateInfo.dwExStyle = WS_EX_NONE | WS_EX_USEPRIVATECDC;    CreateInfo.spCaption = "Demo";//    CreateInfo.hMenu = 0;    CreateInfo.hMenu = createmenu();//    CreateInfo.hMenu = createpmenufile();    CreateInfo.hCursor = GetSystemCursor(0);    CreateInfo.hIcon = 0;    CreateInfo.MainWindowProc = MenuWinProc;    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);//    PostMessage (hMainWnd, MSG_ACTIVEMENU, 0, 0);     TrackMenuBar (hMainWnd, 0);    HiliteMenuBarItem (hMainWnd, 0, HMF_DOWNITEM);    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 + -