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

📄 gdidemo.c

📁 飞漫公司的minigui的1.6.8收费增值版本的demon等示例程序
💻 C
📖 第 1 页 / 共 2 页
字号:
	}	CreateWindowEx (CTRL_ANIMATION, 		"", 		WS_VISIBLE | ANS_AUTOLOOP | ANS_SCALED, 		WS_EX_NONE,		100, 		0, 0, DEMO_WINDOW_WIDTH, DEMO_WINDOW_HIGHT, hWnd, (DWORD)anim);		SetWindowAdditionalData (hWnd, (DWORD) anim);	ShowWindow(GetDlgItem (hWnd, 100), SW_SHOW);	SendMessage (GetDlgItem (hWnd, 100), ANM_STARTPLAY, 0, 0);    return 0;}void anima_gdi_scene_deinit(HWND hWnd, MDSCENE *pScene){    SendMessage (GetDlgItem (hWnd, 100), ANM_STOPPLAY, 0, 0);	DestroyAnimation ((ANIMATION*)GetWindowAdditionalData (hWnd), TRUE);    DestroyAllControls (hWnd);   	anim = NULL;	ReleaseDC (((GDISCENE *)pScene)->hdc );}/* ------------------------------- Total scenes ---------------------------------- */int gdi_scene_init (HWND hWnd, MDSCENE *pScene){    GDISCENE *pGdiScene = (GDISCENE *) pScene;    SetWindowBkColor (hWnd, PIXEL_lightwhite);    UpdateWindow (hWnd, TRUE);	    pGdiScene->hdc = GetClientDC (hWnd);    return 0;}void gdi_scene_deinit (HWND hWnd, MDSCENE *pScene){    ReleaseDC ( ((GDISCENE *)pScene)->hdc );}/*--------------------------------font---------------------------------------------*/void GDIDemo_LogFont(HWND hwnd, HDC hdc);static int adv2d_logfont_init (HWND hWnd, MDSCENE *pScene){    GDISCENE *pGdiScene = (GDISCENE *)pScene;    gdi_scene_init (hWnd, pScene);    GDIDemo_LogFont (hWnd, pGdiScene->hdc);    return 0;}const char *gdi_logfont_tips[] = {    "Font Demo",    NULL};void GDIDemo_LogFont(HWND hwnd, HDC hdc){    RECT rctxt;    int h = 20;	    rctxt.left = 10;    rctxt.right = 300;    rctxt.top = 0;    rctxt.bottom = rctxt.top + h;	SetBrushColor(hdc, PIXEL_black);	FillBox(hdc, 5, 0, DEMO_WINDOW_WIDTH - 5, DEMO_WINDOW_HIGHT); 	if(FontDc == 0)	{		FontDc = CreateCompatibleDCEx(hdc, FONT_MEMDC_WIDTH, FONT_MEMDC_HIGHT);			SetBkMode (FontDc, BM_TRANSPARENT);		SetTextColor (FontDc, PIXEL_yellow);				font[0] = CreateLogFont (NULL, "fixed", "iso8859-1",		FONT_WEIGHT_BOOK, FONT_SLANT_ROMAN, FONT_SETWIDTH_BOLD,		FONT_SPACING_CHARCELL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_NONE,		12, 0);		SelectFont(FontDc, font[0]);		DrawText (FontDc, "fixed 6*12: MiniGUI", -1, &rctxt, DT_SINGLELINE | DT_CENTER | DT_VCENTER);		rctxt.top = rctxt.bottom ;		rctxt.bottom = rctxt.top + h;				font[1] = CreateLogFont (NULL, "fixed", "iso8859-1",			FONT_WEIGHT_BOOK, FONT_SLANT_ROMAN, FONT_SETWIDTH_BOLD,			FONT_SPACING_CHARCELL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_NONE,			16, 0);		SelectFont(FontDc, font[1]);		DrawText (FontDc, "fixed 8*16: MiniGUI", -1, &rctxt, DT_SINGLELINE | DT_CENTER | DT_VCENTER);		rctxt.top = rctxt.bottom ;		rctxt.bottom = rctxt.top + h;				font[2] = CreateLogFont (NULL, "fixed", "iso8859-1",			FONT_WEIGHT_BOOK, FONT_SLANT_ROMAN, FONT_SETWIDTH_BOLD,			FONT_SPACING_CHARCELL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_NONE,			24, 0);		SelectFont(FontDc, font[2]);		DrawText (FontDc, "fixed 12*24: MiniGUI", -1, &rctxt, DT_SINGLELINE | DT_CENTER | DT_VCENTER);		rctxt.top = rctxt.bottom ;		rctxt.bottom = rctxt.top + h;				font[3] = CreateLogFont (NULL, "sansserif", "iso8859-1",			FONT_WEIGHT_BOOK, FONT_SLANT_ROMAN, FONT_SETWIDTH_BOLD,			FONT_SPACING_CHARCELL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_NONE,			13, 0);		SelectFont(FontDc, font[3]);		DrawText (FontDc, "sansserif 11*13: MiniGUI", -1, &rctxt, DT_SINGLELINE | DT_CENTER | DT_VCENTER);		rctxt.top = rctxt.bottom ;		rctxt.bottom = rctxt.top + h;				font[4] = CreateLogFont (NULL, "courier", "iso8859-1",			FONT_WEIGHT_BOOK, FONT_SLANT_ROMAN, FONT_SETWIDTH_BOLD,			FONT_SPACING_CHARCELL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_NONE,			13, 0);		SelectFont(FontDc, font[4]);		DrawText (FontDc, "courier 8*13: MiniGUI", -1, &rctxt, DT_SINGLELINE | DT_CENTER | DT_VCENTER);		rctxt.top = rctxt.bottom ;		rctxt.bottom = rctxt.top + h;		font[5] = CreateLogFont (NULL, "symbol", "iso8859-1",			FONT_WEIGHT_BOOK, FONT_SLANT_ROMAN, FONT_SETWIDTH_BOLD,			FONT_SPACING_CHARCELL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_NONE,			14, 0);		SelectFont(FontDc, font[5]);		DrawText (FontDc, "symbol 13*14: MiniGUI", -1, &rctxt, DT_SINGLELINE | DT_CENTER | DT_VCENTER);		rctxt.top = rctxt.bottom ;		rctxt.bottom = rctxt.top + h;		font[6] = CreateLogFont (NULL, "terminal", "iso8859-1",			FONT_WEIGHT_BOOK, FONT_SLANT_ROMAN, FONT_SETWIDTH_BOLD,			FONT_SPACING_CHARCELL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_NONE,			12, 0);		SelectFont(FontDc, font[6]);		DrawText (FontDc, "terminal 8*12: MiniGUI", -1, &rctxt, DT_SINGLELINE | DT_CENTER | DT_VCENTER);		rctxt.top = rctxt.bottom ;		rctxt.bottom = rctxt.top + h;		font[7] = CreateLogFont (NULL, "system", "iso8859-1",			FONT_WEIGHT_BOOK, FONT_SLANT_ROMAN, FONT_SETWIDTH_BOLD,			FONT_SPACING_CHARCELL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_NONE,			16, 0);		SelectFont(FontDc, font[7]);		DrawText (FontDc, "system 14*16: MiniGUI", -1, &rctxt, DT_SINGLELINE | DT_CENTER | DT_VCENTER);		rctxt.top = rctxt.bottom ;		rctxt.bottom = rctxt.top + h;		font[8] = CreateLogFont (NULL, "fixed", "iso8859-1",			FONT_WEIGHT_BOOK, FONT_SLANT_ROMAN, FONT_SETWIDTH_BOLD,			FONT_SPACING_CHARCELL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_NONE,			15, 0);		SelectFont(FontDc, font[8]);		DrawText (FontDc, "fixed 8*15: MiniGUI", -1, &rctxt, DT_SINGLELINE | DT_CENTER | DT_VCENTER);		rctxt.top = rctxt.bottom ;		rctxt.bottom = rctxt.top + h;		font[9] = CreateLogFont (NULL, "helvetica", "iso8859-1",			FONT_WEIGHT_BOOK, FONT_SLANT_ROMAN, FONT_SETWIDTH_BOLD,			FONT_SPACING_CHARCELL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_NONE,			16, 0);		SelectFont(FontDc, font[9]);		DrawText (FontDc, "helvetica 15*16: MiniGUI", -1, &rctxt, DT_SINGLELINE | DT_CENTER | DT_VCENTER);				rctxt.top = rctxt.bottom ;		rctxt.bottom = rctxt.top + h;		font[10] = CreateLogFont (NULL, "helvetica", "iso8859-1",			FONT_WEIGHT_BOOK, FONT_SLANT_ROMAN, FONT_SETWIDTH_BOLD,			FONT_SPACING_CHARCELL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_NONE,			21, 0);		SelectFont(FontDc, font[10]);		DrawText (FontDc, "helvetica 18*21: MiniGUI", -1, &rctxt, DT_SINGLELINE | DT_CENTER | DT_VCENTER);				rctxt.top = rctxt.bottom ;		rctxt.bottom = rctxt.top + h;		font[11] = CreateLogFont (NULL, "helvetica", "iso8859-1",			FONT_WEIGHT_BOOK, FONT_SLANT_ROMAN, FONT_SETWIDTH_BOLD,			FONT_SPACING_CHARCELL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_NONE,			27, 0);		SelectFont(FontDc, font[11]);		DrawText (FontDc, "helvetica 24*27: MiniGUI", -1, &rctxt, DT_SINGLELINE | DT_CENTER | DT_VCENTER);		rctxt.top = rctxt.bottom ;		rctxt.bottom = rctxt.top + h;		font[12] = CreateLogFont (NULL, "ming", "GB2312",			FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_SETWIDTH_BOLD,			FONT_SPACING_CHARCELL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_NONE,			12, 0);		SelectFont(FontDc, font[12]);		DrawText (FontDc, "宋体 12*12: 飞漫软件", -1, &rctxt, DT_SINGLELINE | DT_CENTER | DT_VCENTER);						rctxt.top = rctxt.bottom ;		rctxt.bottom = rctxt.top + h;		font[13] = CreateLogFont (NULL, "song", "GB2312",			FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_SETWIDTH_BOLD,			FONT_SPACING_CHARCELL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_NONE,			16, 0);		SelectFont(FontDc, font[13]);		DrawText (FontDc, "宋体 16*16: 飞漫软件", -1, &rctxt, DT_SINGLELINE | DT_CENTER | DT_VCENTER);				rctxt.top = rctxt.bottom ;		rctxt.bottom = rctxt.top + h + 3;		font[14] = CreateLogFont (NULL, "ming", "GB2312",			FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_SETWIDTH_BOLD,			FONT_SPACING_CHARCELL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_NONE,			24, 0);		SelectFont(FontDc, font[14]);		DrawText (FontDc, "宋体 24*24: 飞漫软件", -1, &rctxt, DT_SINGLELINE | DT_CENTER | DT_VCENTER);		rctxt.top = rctxt.bottom ;		rctxt.bottom = rctxt.top + h;				font[15] = CreateLogFont (NULL, "gothic", "JISX0208-1",			FONT_WEIGHT_BOOK, FONT_SLANT_ROMAN, FONT_SETWIDTH_BOLD,			FONT_SPACING_CHARCELL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_NONE,			16, 0);		SelectFont(FontDc, font[15]);		DrawText (FontDc, "奩摉偡傞僨乕僞偑偁傝傑偣傫", -1, &rctxt, DT_SINGLELINE | DT_CENTER | DT_VCENTER);	}	DC_Position = 10;	FontDCPosition = 0;	SetTimer(hwnd, 140, 5);}int FontProc(HWND hDlg, int message, WPARAM wParam, LPARAM lParam){	switch (message) 	{		case MSG_TIMER:		{							RECT rc;		 				rc.left = 0;				rc.top  = 0;				rc.right = DEMO_WINDOW_WIDTH;				rc.bottom = DEMO_WINDOW_HIGHT;				InvalidateRect(hDlg, &rc, FALSE);			    if(DC_Position < -322)				{					DC_Position = DEMO_WINDOW_HIGHT;								}				else				{					DC_Position--;								}				break;		}	 		case MSG_PAINT:		{	 				HDC hdc; 					hdc = BeginPaint(hDlg);						BitBlt(FontDc, 0, 0, FONT_MEMDC_WIDTH, FONT_MEMDC_HIGHT, hdc, 10, DC_Position, 0); 								EndPaint(hDlg, hdc);				break;		}	}    return default_desktop_win_proc (hDlg, message, wParam, lParam);}void font_scene_deinit (HWND hWnd, MDSCENE *pScene)	{	int i;    KillTimer(hWnd, 140);	for(i = 0; i < 16; i++)	{		if(font[i] != 0)		DestroyLogFont(font[i]);        font[i] = 0;	}	DeleteMemDC(FontDc);		FontDc = 0;	ReleaseDC ( ((GDISCENE *)pScene)->hdc );}/*---------------------------------------------------------------------------------*/GDISCENE my_gdi_scenes [] ={    {        NULL, NULL,        clock_scene_init, gdi_scene_deinit, ClockProc,        gdi_clock_tips,    },    {        NULL, NULL,        meter_scene_init, gdi_meter_deinit, MerterProc,        gdi_meter_tips,    },	{        NULL, NULL,       Wav_scene_init, gdi_wave_deinit, WaveProc,        gdi_wave_tips,    },		{		NULL, NULL,		Animation_scene_init, anima_gdi_scene_deinit, NULL,		gdi_animation_tips,	},    {        NULL, NULL,        adv2d_logfont_init, font_scene_deinit, FontProc,        gdi_logfont_tips,    },};int gdi_scene_nr = TABLESIZE(my_gdi_scenes);int InitGDIScenes (MDSCENE *start_scene, MDSCENE *end_scene){    int i;    if (gdi_scene_nr == 0)        return -1;    my_gdi_scenes[0].prev = start_scene;    if (gdi_scene_nr > 1)        my_gdi_scenes[0].next = (MDSCENE *)&my_gdi_scenes[1];    for (i = 1; i < gdi_scene_nr-1; i++) {        my_gdi_scenes[i].prev = (MDSCENE *)&my_gdi_scenes[i-1];        my_gdi_scenes[i].next = (MDSCENE *)&my_gdi_scenes[i+1];    }    if (gdi_scene_nr > 1) {        my_gdi_scenes[gdi_scene_nr-1].prev = (MDSCENE *)&my_gdi_scenes[gdi_scene_nr-2];        my_gdi_scenes[gdi_scene_nr-1].next = end_scene;    }    return 0;}

⌨️ 快捷键说明

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