?? miniguidemo.c.bak
字號:
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 + -