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

📄 fontdemo.c

📁 minigui desktop enviroment
💻 C
字号:
/*** $Id: fontdemo.c,v 1.12 2004/09/14 00:53:40 weiym Exp $**** The demo of font.**** Copyright (C) 2001 ~ 2002 Wei Yongming.** Copyright (C) 2003 Feynman Software.**** Create date: 2002/01/17*//***  This source is free software; you can redistribute it and/or**  modify it under the terms of the GNU General Public**  License as published by the Free Software Foundation; either**  version 2 of the License, or (at your option) any later version.****  This software is distributed in the hope that it will be useful,**  but WITHOUT ANY WARRANTY; without even the implied warranty of**  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU**  General Public License for more details.****  You should have received a copy of the GNU General Public**  License along with this library; if not, write to the Free**  Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,**  MA 02111-1307, USA*//*** TODO:*/#include <stdio.h>#include <stdlib.h>#include <string.h>#include <time.h>#include <minigui/common.h>#include <minigui/minigui.h>#include <minigui/gdi.h>#include <minigui/window.h>#define IDM_EXIT            160#define IDM_TEXTOUT1        200#define IDM_TEXTOUT2        210#define IDM_TEXTOUT3        215#define IDM_TEXTOUT4        216#define IDM_TABBEDTEXTOUT   220#define IDM_TABBEDTEXTOUTEX 230#define IDM_DRAWTEXT        240#define IDM_ROTATION        250#define IDM_ABOUT           310static 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 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);        mii.type        = MFT_STRING;    mii.state       = 0;    mii.id          = IDM_EXIT;    mii.typedata    = (DWORD)"Exit";    InsertMenuItem(hmnu, 0, 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)"Text";    hmnu = CreatePopupMenu (&mii);        mii.type        = MFT_STRING ;    mii.state       = 0;    mii.id          = IDM_TEXTOUT1;    mii.typedata    = (DWORD)"TextOut1...";    InsertMenuItem(hmnu, 0, TRUE, &mii);        mii.type        = MFT_STRING ;    mii.state       = 0;    mii.id          = IDM_TEXTOUT2;    mii.typedata    = (DWORD)"TextOut2...";    InsertMenuItem(hmnu, 1, TRUE, &mii);         mii.type        = MFT_STRING ;    mii.state       = 0;    mii.id          = IDM_TEXTOUT3;    mii.typedata    = (DWORD)"TextOut3 (TrueType)...";    InsertMenuItem(hmnu, 2, TRUE, &mii);    mii.type        = MFT_STRING ;    mii.state       = 0;    mii.id          = IDM_TEXTOUT4;    mii.typedata    = (DWORD)"TextOut4 (Type1)...";    InsertMenuItem(hmnu, 2, TRUE, &mii);         mii.type        = MFT_STRING ;    mii.state       = 0;    mii.id          = IDM_TABBEDTEXTOUT;    mii.typedata    = (DWORD)"TabbedTextOut...";    InsertMenuItem(hmnu, 3, TRUE, &mii);          mii.type        = MFT_STRING ;    mii.state       = 0;    mii.id          = IDM_TABBEDTEXTOUTEX;    mii.typedata    = (DWORD)"TabbedTextOutEx...";    InsertMenuItem(hmnu, 4, TRUE, &mii);      mii.type        = MFT_STRING ;    mii.state       = 0;    mii.id          = IDM_DRAWTEXT;    mii.typedata    = (DWORD)"DrawText...";    InsertMenuItem(hmnu, 5, TRUE, &mii);      mii.type        = MFT_STRING ;    mii.state       = 0;    mii.id          = IDM_ROTATION;    mii.typedata    = (DWORD)"Rotation...";    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)"Fonts";    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;}#define MODE_TEXTOUT1           11#define MODE_TEXTOUT2           12#define MODE_TEXTOUT3           13#define MODE_TEXTOUT4           14#define MODE_TABBEDTEXTOUT      20#define MODE_TABBEDTEXTOUTEX    30#define MODE_DRAWTEXT           40#define MODE_ROTATION           50static PLOGFONT logfont1, logfont2, logfontgb12, logfontgb16, logfontgb24, logfontbig12,                logfontbig16, logfontbig24;static PLOGFONT logfonthelvb1112, logfonthelv1314, logfonthelv1112, logfontsymb9, logfontsymb11,                 logfontsymb15, logfontsymb19, logfontsymb26, logfonttimes;static PLOGFONT lfArial6, lfArial20, lfArial20c, lfKai16, lfSong20, lfTimes12;static PLOGFONT lfT1a,lfT1b,lfT1c,lfT1d,lfT10,lfT11,lfT12,lfT13,lfT14;void OnModeTextOut1 (HDC hdc){    SetBkColor (hdc, COLOR_blue);    SetBkMode (hdc, BM_TRANSPARENT);    SelectFont (hdc, logfont1);    TextOut (hdc, 0, 0,  "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");    TextOut (hdc, 0, 20, "abcdefghijklmnopqrstuvwxyz!@#$%^&*()");    TextOut (hdc, 0, 40, "~`[];',./\\{}|:\"<>?");    TextOut (hdc, 0, 60, "这是利用 TextOut 绘制的文本, 使用字体 Font: SansSerif.");    SelectFont (hdc, logfont2);    TextOut (hdc, 0, 100,  "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");    TextOut (hdc, 0, 120, "abcdefghijklmnopqrstuvwxyz!@#$%^&*()");    TextOut (hdc, 0, 140, "~`[];',./\\{}|:\"<>?");    TextOut (hdc, 0, 160, "这是利用 TextOut 绘制的文本, 使用字体 Font: Courier.");    SelectFont (hdc, logfontgb12);    TextOut (hdc, 0, 200, "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");    TextOut (hdc, 0, 220, "abcdefghijklmnopqrstuvwxyz!@#$%^&*()");    TextOut (hdc, 0, 240, "~`[];',./\\{}|:\"<>?");    TextOut (hdc, 0, 260, "ghjk 这是利用 TextOut 绘制的文本, 使用字体 GB2312 Song 12x12.");    SelectFont (hdc, logfontbig12);    TextOut (hdc, 0, 280, "ghjk 硂琌

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -