?? fontdemo.c
字號:
/*** $Id: fontdemo.c,v 1.12.6.1 2006/06/16 01:15:49 xwyan Exp $**** The demo of font.**** Copyright (C) 2001 ~ 2002 Wei Yongming.** Copyright (C) 2003 ~ 2006 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 + -