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

📄 miniguidemo.c~

📁 minigui的相关资料建立minigui环境必需
💻 C~
📖 第 1 页 / 共 3 页
字号:
        tox = rand() % DEFAULT_WIDTH; toy = rand() % DEFAULT_WIDTH;        LineTo (mem_dc, tox, toy);        Circle (mem_dc, tox, toy, rand() % DEFAULT_X);        BitBlt (mem_dc, 0, 0, rand () % DEFAULT_WIDTH, rand () % DEFAULT_WIDTH, hdc,                         rand () % DEFAULT_WIDTH, rand () % DEFAULT_WIDTH, 0);        CHECK_MSG;    }    end_tick = GetTickCount ();    TellSpeed (hwnd, start_tick, end_tick, "Blit", 200);    DeleteCompatibleDC (mem_dc);    TellNotImplemented (hwnd, "Alpha Blit");}/*
*************************************************************************************************************
- 函数名称 : Exep_S3cint_Init(void)
- 函数说明 : 异常及中断控制器的初始化
- 输入参数 : 无
- 输出参数 : 无
*************************************************************************************************************
*/int GDIDemoProc (HWND hWnd, int message, WPARAM wParam, LPARAM lParam){    unsigned int start_tick, end_tick;    HDC hdc;    switch (message) {        case MSG_CHAR:            srand (time (NULL));            hdc = GetClientDC (hWnd);            switch (wParam) {            case '0':                GDIDemo_NormalLines (hWnd, hdc);                break;            case '1':                GDIDemo_Filling (hWnd, hdc);                break;            case '2':                GDIDemo_MemDC (hWnd, hdc);                break;            case '3':                PostMessage (hWnd, MSG_CLOSE, 0, 0);                break;            }            ReleaseDC (hdc);            InvalidateRect (hWnd, NULL, TRUE);        break;        case MSG_PAINT:            hdc = BeginPaint (hWnd);            SetTextColor (hdc, PIXEL_black);            SetBkColor (hdc, PIXEL_lightwhite);            SetBkMode (hdc, BM_TRANSPARENT);            TabbedTextOut (hdc, 50, 20,                                  "Type '0': Drawing normal lines and curves.\n"                                 "Type '1': Drawing filled areas.\n"                                 "Type '2' Memory DC and blitting.\n"                                 "\nType '3' to quit.");            EndPaint (hWnd, hdc);            return 0;	case MSG_KEYDOWN:	    switch(wParam) {		case SCANCODE_ESCAPE:		    PostMessage (hWnd, MSG_CLOSE, 0, 0);		    break;	    }	    break;	    /*        case MSG_COMMAND:            switch (wParam) {		case IDOK:		case IDCANCEL:		    EndDialog (hWnd, wParam);		    break;	    }	break;	*/        case MSG_CLOSE:            DestroyMainWindow (hWnd);            PostQuitMessage (hWnd);        return 0;    }//    return DefaultDialogProc (hWnd, message, wParam, lParam);    return DefaultMainWinProc(hWnd, message, wParam, lParam);}/*
*************************************************************************************************************
- 函数名称 : Exep_S3cint_Init(void)
- 函数说明 : 异常及中断控制器的初始化
- 输入参数 : 无
- 输出参数 : 无
*************************************************************************************************************
*/static int DrawDemoProc(HWND hDlg, int message, WPARAM wParam, LPARAM lParam){    HDC hdc;    switch (message) {        case MSG_PAINT:            hdc = BeginPaint (hDlg);	    SetPenColor (hdc, PIXEL_red);	    Circle (hdc, 140+offset, 120+offset_v, 50);            EndPaint (hDlg, hdc);            return 0;        case MSG_CLOSE:            DestroyMainWindow (hDlg);            PostQuitMessage (hDlg);            return 0;	case MSG_KEYDOWN:	    printf("Press  %d\n",wParam);	    switch(wParam) {		case SCANCODE_CURSORBLOCKLEFT:		    offset -= 10;		    InvalidateRect (hDlg, &rcCircle, TRUE);		    break;		case SCANCODE_CURSORBLOCKRIGHT:		    offset += 10;		    InvalidateRect (hDlg, &rcCircle, TRUE);		    break;		case SCANCODE_CURSORBLOCKUP:		    offset_v -= 10;		    InvalidateRect (hDlg, &rcCircle, TRUE);		    break;		case SCANCODE_CURSORBLOCKDOWN:		    offset_v += 10;		    InvalidateRect (hDlg, &rcCircle, TRUE);		    break;		case SCANCODE_ESCAPE:		    PostMessage (hDlg, MSG_CLOSE, 0, 0);		    break;	    }	    break;	    /*        case MSG_COMMAND:            switch (wParam) {		case IDOK:		case IDCANCEL:		    EndDialog (hWnd, wParam);		    break;	    }	break;	*/	case MSG_CHAR:	    printf("Press  %d\n",wParam);    }//    return DefaultDialogProc (hDlg, message, wParam, lParam);    return DefaultMainWinProc(hDlg, message, wParam, lParam);}//font procstatic PLOGFONT logfontgb12, logfontgb16, logfontgb24;/*
*************************************************************************************************************
- 函数名称 : Exep_S3cint_Init(void)
- 函数说明 : 异常及中断控制器的初始化
- 输入参数 : 无
- 输出参数 : 无
*************************************************************************************************************
*/void Font_Demo (HDC hdc){    RECT rc1;    const char* szBuff1 = "This is a good day. \n"            "这是利用 DrawText 输出, 使用字体 GB2312 Song 24. "            "垂直靠上, 居中";    rc1.left = 0; rc1.top  = 160; rc1.right = 320; rc1.bottom = 220;    SetBkColor (hdc, COLOR_lightwhite);    SelectFont (hdc, logfontgb12);    TextOut (hdc, 0, 0,  "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");    TextOut (hdc, 0, 15, "abcdefghijklmnopqrstuvwxyz!@#$%^&*()");    TextOut (hdc, 0, 30, "大家好,正在使用MiniGUI");    TextOut (hdc, 0, 45, "这是利用TextOut输出:GB2312 Song 12");    SelectFont (hdc, logfontgb16);    TextOut (hdc, 0, 70, "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");    TextOut (hdc, 0, 85, "abcdefghijklmnopqrstuvwxyz!@#$%^&*()");    TextOut (hdc, 0, 100, "大家好,正在使用MiniGUI");    TextOut (hdc, 0, 115, "这是利用TextOut输出:GB2312 Song 16");    SelectFont (hdc, logfontgb24);    DrawText (hdc, szBuff1, -1, &rc1, DT_NOCLIP | DT_CENTER | DT_WORDBREAK);}/*
*************************************************************************************************************
- 函数名称 : Exep_S3cint_Init(void)
- 函数说明 : 异常及中断控制器的初始化
- 输入参数 : 无
- 输出参数 : 无
*************************************************************************************************************
*/static int FontDemoProc (HWND hWnd, int message, WPARAM wParam, LPARAM lParam){    switch (message) {        case MSG_CREATE:            logfontgb12 = CreateLogFont (NULL, "song", "GB2312",                         FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_SETWIDTH_NORMAL,                        FONT_SPACING_CHARCELL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_NONE,                         12, 0);            printf ("sbc_defont: %s\n", logfontgb12->sbc_devfont->name);            logfontgb16 = CreateLogFont (NULL, "song", "GB2312",                         FONT_WEIGHT_REGULAR, FONT_SLANT_ROMAN, FONT_SETWIDTH_NORMAL,                        FONT_SPACING_CHARCELL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_NONE,                         16, 0);            printf ("sbc_defont: %s\n", logfontgb16->sbc_devfont->name);            logfontgb24 = CreateLogFont (NULL, "song", "GB2312",                         FONT_WEIGHT_BOLD, FONT_SLANT_ROMAN, FONT_SETWIDTH_NORMAL,                        FONT_SPACING_CHARCELL, FONT_UNDERLINE_NONE, FONT_STRUCKOUT_NONE,                         24, 0);       break;        case MSG_PAINT:        {            HDC hdc;            hdc = BeginPaint (hWnd);	    Font_Demo (hdc);	    break;            EndPaint (hWnd, hdc);            return 0;        }                break;	case MSG_KEYDOWN:	    switch(wParam) {		case SCANCODE_ESCAPE:                    PostMessage (hWnd, MSG_CLOSE, 0, 0);		    break;	    }	break;	        case MSG_CLOSE:            DestroyLogFont (logfontgb12);            DestroyLogFont (logfontgb16);            DestroyLogFont (logfontgb24);            DestroyMainWindow (hWnd);            PostQuitMessage (hWnd);        return 0;/*        case MSG_COMMAND:            switch (wParam) {		case IDOK:		case IDCANCEL:		    EndDialog (hWnd, wParam);		    break;	    }	break;	*/    }    return DefaultDialogProc (hWnd, message, wParam, lParam);//    return DefaultMainWinProc (hWnd, message, wParam, lParam);}//iconBYTE ANDmaskIcon1[] = {    0xff, 0x9f, 0x00, 0x00,     0xff, 0x1f, 0x00, 0x00,     0xfc, 0x1f, 0x00, 0x00,     0xf0, 0x1f, 0x00, 0x00,     0xe0, 0x0f, 0x00, 0x00,     0xc0, 0x07, 0x00, 0x00,     0x80, 0x03, 0x00, 0x00,     0x80, 0x03, 0x00, 0x00,     0x00, 0x01, 0x00, 0x00,     0x00, 0x01, 0x00, 0x00,     0x00, 0x01, 0x00, 0x00,     0x00, 0x01, 0x00, 0x00,     0x80, 0x03, 0x00, 0x00,     0x80, 0x03, 0x00, 0x00,     0xc0, 0x07, 0x00, 0x00,     0xf0, 0x1f, 0x00, 0x00};BYTE XORmaskIcon1[] = {    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00,     0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00,     0x00, 0x00, 0x00, 0x8f, 0xff, 0x00, 0x00, 0x00,     0x00, 0x00, 0x8f, 0xff, 0xff, 0x00, 0x00, 0x00,     0x00, 0x08, 0xff, 0xf8, 0xff, 0xf8, 0x00, 0x00,     0x00, 0xff, 0xff, 0x80, 0x8f, 0xff, 0xf0, 0x00,     0x00, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xf0, 0x00,     0x0f, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0x00,     0x0f, 0xff, 0xff, 0xf0, 0x0f, 0xff, 0xff, 0x00,     0x0f, 0xff, 0xff, 0xf8, 0x00, 0xff, 0xff, 0x00,     0x0f, 0xff, 0xf0, 0x0f, 0x00, 0xff, 0xff, 0x00,     0x00, 0xff, 0xf8, 0x00, 0x08, 0xff, 0xf0, 0x00,     0x00, 0x8f, 0xff, 0x80, 0x8f, 0xff, 0xf0, 0x00,     0x00, 0x00, 0x8f, 0xff, 0xff, 0xf0, 0x00, 0x00,     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,     0xff, 0x9f, 0x00, 0x00, 0xff, 0x1f, 0x00, 0x00,     0xfc, 0x1f, 0x00, 0x00, 0xf0, 0x1f, 0x00, 0x00,     0xe0, 0x0f, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00,     0x80, 0x03, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00,     0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,     0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,     0x80, 0x03, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00,     0xc0, 0x07, 0x00, 0x00, 0xf0, 0x1f, 0x00, 0x00,     0x26, 0x00, 0x00, 0x00, 0xf4, 0xd9, 0x04, 0x08,     0xa8, 0xf8, 0xff, 0xbf, 0xc0, 0xf7, 0xff, 0xbf,     0x20, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,     0xc0, 0x00, 0x00, 0x00, 0x0e, 0x03, 0x00, 0x00,     0x28, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,     0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,     0xf0, 0x10, 0x04, 0x00, 0x70, 0xe1, 0x04, 0x08,     0xd8, 0xf8, 0xff, 0xbf, 0x41, 0x90, 0x04, 0x08};/*
*************************************************************************************************************
- 函数名称 : Exep_S3cint_Init(void)
- 函数说明 : 异常及中断控制器的初始化
- 输入参数 : 无
- 输出参数 : 无
*************************************************************************************************************
*/static int IconProc(HWND hDlg, int message, WPARAM wParam, LPARAM lParam){    static HICON new_icon;    HDC hdc;    switch (message) {    case MSG_CREATE:        new_icon = CreateIcon(HDC_SCREEN, 16, 16, ANDmaskIcon1, XORmaskIcon1, 4);        break;    case MSG_PAINT:        hdc = BeginPaint(hDlg);        if (new_icon != 0) {            DrawIcon(hdc, 0, 0, 0, 0, new_icon);            DrawIcon(hdc, 50, 50, 64, 64, new_icon);        }        EndPaint(hDlg, hdc);        return 0;	case MSG_KEYDOWN:	    switch(wParam) {		case SCANCODE_ESCAPE:                    PostMessage (hDlg, MSG_CLOSE, 0, 0);		    break;	    }	break;	

⌨️ 快捷键说明

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