亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? shapes.cpp

?? Programming.Microsoft.Windows.CE.Dot.NET.3rd.Edition.pdf the chapter 2 example codes.
?? CPP
字號:
//======================================================================
// Shapes- Brush and shapes demo for Windows CE
//
// Written for the book Programming Windows CE
// Copyright (C) 2003 Douglas Boling
//======================================================================
#include <windows.h>                 // For all that Windows stuff
#include "shapes.h"                  // Program-specific stuff

//----------------------------------------------------------------
// Global data
//
const TCHAR szAppName[] = TEXT ("Shapes");
HINSTANCE hInst;                     // Program instance handle

// Message dispatch table for MainWindowProc
const struct decodeUINT MainMessages[] = {
    WM_PAINT, DoPaintMain,
    WM_DESTROY, DoDestroyMain,
};

//======================================================================
//
// Program entry point
//
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                    LPWSTR lpCmdLine, int nCmdShow) {
    MSG msg;
    HWND hwndMain;

    // Initialize this instance.
    hwndMain = InitInstance(hInstance, lpCmdLine, nCmdShow);
    if (hwndMain == 0)
        return 0x10;

    // Application message loop
    while (GetMessage (&msg, NULL, 0, 0)) {
        TranslateMessage (&msg);
        DispatchMessage (&msg);
    }
    // Instance cleanup
    return TermInstance (hInstance, msg.wParam);
}
//----------------------------------------------------------------------
// InitInstance - Instance initialization
//
HWND InitInstance (HINSTANCE hInstance, LPWSTR lpCmdLine, int nCmdShow){
    WNDCLASS wc;
    HWND hWnd;

    // Save program instance handle in global variable.
    hInst = hInstance;

#if defined(WIN32_PLATFORM_PSPC)
    // If Pocket PC, allow only one instance of the application.
    hWnd = FindWindow (szAppName, NULL);
    if (hWnd) {
        SetForegroundWindow ((HWND)(((DWORD)hWnd) | 0x01));    
        return 0;
    }
#endif    
    // Register application main window class.
    wc.style = 0;                             // Window style
    wc.lpfnWndProc = MainWndProc;             // Callback function
    wc.cbClsExtra = 0;                        // Extra class data
    wc.cbWndExtra = 0;                        // Extra window data
    wc.hInstance = hInstance;                 // Owner handle
    wc.hIcon = NULL,                          // Application icon
    wc.hCursor = LoadCursor (NULL, IDC_ARROW);// Default cursor
    wc.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH);
    wc.lpszMenuName =  NULL;                  // Menu name
    wc.lpszClassName = szAppName;             // Window class name

    if (RegisterClass (&wc) == 0) return 0;
    // Create main window.
    hWnd = CreateWindowEx (WS_EX_NODRAG,      // Ex Style
                         szAppName,           // Window class
                         TEXT("Shapes"),      // Window title
                         WS_VISIBLE,          // Style flags
                         CW_USEDEFAULT,       // x position
                         CW_USEDEFAULT,       // y position
                         CW_USEDEFAULT,       // Initial width
                         CW_USEDEFAULT,       // Initial height
                         NULL,                // Parent
                         NULL,                // Menu, must be null
                         hInstance,           // Application instance
                         NULL);               // Pointer to create
                                              // parameters
    // Return fail code if window not created.
    if (!IsWindow (hWnd)) return 0;

    // Standard show and update calls
    ShowWindow (hWnd, nCmdShow);
    UpdateWindow (hWnd);
    return hWnd;
}
//----------------------------------------------------------------------
// TermInstance - Program cleanup
//
int TermInstance (HINSTANCE hInstance, int nDefRC) {

    return nDefRC;
}
//======================================================================
// Message handling procedures for MainWindow
//

//----------------------------------------------------------------------
// MainWndProc - Callback function for application window
//
LRESULT CALLBACK MainWndProc (HWND hWnd, UINT wMsg, WPARAM wParam, 
                              LPARAM lParam) {
    INT i;
    //
    // Search message list to see if we need to handle this
    // message. If in list, call procedure.
    //
    for (i = 0; i < dim(MainMessages); i++) {
        if (wMsg == MainMessages[i].Code)
            return (*MainMessages[i].Fxn)(hWnd, wMsg, wParam, lParam);
    }
    return DefWindowProc (hWnd, wMsg, wParam, lParam);
}
//----------------------------------------------------------------
// MyCreateHatchBrush - Creates hatched brushes
//
HBRUSH MyCreateHatchBrush (INT fnStyle, COLORREF clrref) {
    BRUSHBMP brbmp;
    BYTE *pBytes;
    int i;
    DWORD dwBits[6][2] = {
        {0x000000ff,0x00000000}, {0x10101010,0x10101010},
        {0x01020408,0x10204080}, {0x80402010,0x08040201},
        {0x101010ff,0x10101010}, {0x81422418,0x18244281},
    };

    if ((fnStyle < 0) || (fnStyle > dim(dwBits)))
        return 0;
    memset (&brbmp, 0, sizeof (brbmp));

    brbmp.bmi.biSize = sizeof (BITMAPINFOHEADER);
    brbmp.bmi.biWidth = 8;
    brbmp.bmi.biHeight = 8;
    brbmp.bmi.biPlanes = 1;
    brbmp.bmi.biBitCount = 1;
    brbmp.bmi.biClrUsed = 2;
    brbmp.bmi.biClrImportant = 2;

    // Initialize the palette of the bitmap.
    brbmp.dwPal[0] = PALETTERGB(0xff,0xff,0xff);
    brbmp.dwPal[1] = PALETTERGB((BYTE)((clrref >> 16) & 0xff),
                                (BYTE)((clrref >> 8) & 0xff),
                                (BYTE)(clrref & 0xff));

    // Write the hatch data to the bitmap.  
    pBytes = (BYTE *)&dwBits[fnStyle];
    for (i = 0; i < 8; i++)
        brbmp.bBits[i*4] = *pBytes++;

    // Return the handle of the brush created.
    return CreateDIBPatternBrushPt (&brbmp, DIB_RGB_COLORS);
}
//----------------------------------------------------------------------
// DoPaintMain - Process WM_PAINT message for window.
//
LRESULT DoPaintMain (HWND hWnd, UINT wMsg, WPARAM wParam, 
                     LPARAM lParam) {
    PAINTSTRUCT ps;
    RECT rect;
    HDC hdc;
    POINT ptArray[6];
    HBRUSH hBr, hOldBr;
    TCHAR szText[128];

    GetClientRect (hWnd, &rect);
    hdc = BeginPaint (hWnd, &ps); 

    // Draw ellipse.
    hBr = (HBRUSH) GetStockObject (DKGRAY_BRUSH);
    hOldBr = (HBRUSH) SelectObject (hdc, hBr);
    Ellipse (hdc, 10, 50, 90, 130);
    SelectObject (hdc, hOldBr);

    // Draw round rectangle.
    hBr = (HBRUSH) GetStockObject (LTGRAY_BRUSH);
    hOldBr = (HBRUSH) SelectObject (hdc, hBr);
    RoundRect (hdc, 95, 50, 150, 130, 30, 30);
    SelectObject (hdc, hOldBr);

    // Draw hexagon using Polygon. 
    hBr = (HBRUSH) GetStockObject (WHITE_BRUSH);
    hOldBr = (HBRUSH) SelectObject (hdc, hBr);
    ptArray[0].x = 192;
    ptArray[0].y = 50;
    ptArray[1].x = 155;
    ptArray[1].y = 75;
    ptArray[2].x = 155;
    ptArray[2].y = 105;
    ptArray[3].x = 192;
    ptArray[3].y = 130;
    ptArray[4].x = 230;
    ptArray[4].y = 105;
    ptArray[5].x = 230;
    ptArray[5].y = 75;

    Polygon (hdc, ptArray, 6);
    SelectObject (hdc, hOldBr);

    hBr = (HBRUSH) MyCreateHatchBrush (HS_DIAGCROSS, RGB (0, 0, 0));
    hOldBr = (HBRUSH) SelectObject (hdc, hBr);
    Rectangle (hdc, 10, 145, 225, 210);
    SelectObject (hdc, hOldBr);
    DeleteObject (hBr);

    SetBkMode (hdc, OPAQUE);
    lstrcpy (szText, TEXT ("Opaque background"));
    ExtTextOut (hdc, 20, 160, 0, NULL, 
                szText, lstrlen (szText), NULL);

    SetBkMode (hdc, TRANSPARENT);
    lstrcpy (szText, TEXT ("Transparent background"));
    ExtTextOut (hdc, 20, 185, 0, NULL,
                szText, lstrlen (szText), NULL);

    EndPaint (hWnd, &ps); 
    return 0;
}
//----------------------------------------------------------------------
// DoDestroyMain - Process WM_DESTROY message for window
//
LRESULT DoDestroyMain (HWND hWnd, UINT wMsg, WPARAM wParam, 
                       LPARAM lParam) {
    PostQuitMessage (0);
    return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲柠檬福利资源导航| 日韩精品欧美成人高清一区二区| 欧美吻胸吃奶大尺度电影| 亚洲人成亚洲人成在线观看图片| 久久精品国产色蜜蜜麻豆| 精品福利一二区| 捆绑变态av一区二区三区| 91.成人天堂一区| 亚洲图片欧美色图| 国产色爱av资源综合区| 色素色在线综合| 美女视频黄a大片欧美| 精品欧美一区二区久久| 亚洲国产欧美另类丝袜| 欧美一区二区精品| 高清国产一区二区三区| 成人av资源在线| 欧美亚州韩日在线看免费版国语版| 亚洲中国最大av网站| 国产高清不卡一区| 精品美女被调教视频大全网站| 一区二区三区在线免费播放| 国产成人免费视频一区| 日韩欧美中文字幕精品| 亚洲一区二区五区| 91在线观看免费视频| 欧美成人aa大片| 亚洲一二三四在线观看| 91视视频在线直接观看在线看网页在线看 | 国产激情精品久久久第一区二区| 97se亚洲国产综合在线| 久久久精品国产免大香伊| 日本午夜精品一区二区三区电影| 在线免费一区三区| 亚洲男人的天堂在线aⅴ视频| 国产suv精品一区二区6| 久久欧美中文字幕| 激情欧美日韩一区二区| 精品美女一区二区三区| 奇米影视一区二区三区| 欧美一二三区精品| 蜜臀av性久久久久av蜜臀妖精| 欧美麻豆精品久久久久久| 一区二区三区高清在线| 在线观看亚洲成人| 亚洲国产精品久久人人爱蜜臀 | 91精品国产欧美日韩| 亚洲国产精品自拍| 欧美日韩和欧美的一区二区| 视频在线观看一区二区三区| 欧美人与禽zozo性伦| 日韩国产精品久久| 久久综合色婷婷| 北条麻妃一区二区三区| 国产精品久久久久一区| 亚洲精品在线观| 久久奇米777| 国产精品美女久久久久久久久久久| 精品国产乱码久久久久久蜜臀 | 亚洲欧美日韩久久精品| 久久精品无码一区二区三区| 国产精品美女一区二区在线观看| 国产精品免费网站在线观看| 一区二区三区91| 日韩精品久久久久久| 国产一区二区按摩在线观看| 国产大陆亚洲精品国产| 欧美亚洲国产怡红院影院| 欧美美女黄视频| 青青草精品视频| 午夜精品国产更新| 亚洲综合一区二区精品导航| 欧美韩国日本综合| 亚洲成av人片| 欧美视频第二页| www.日韩精品| 91网站视频在线观看| 国产麻豆成人精品| 日韩毛片精品高清免费| 欧美一区二区三区影视| 成人免费视频caoporn| 午夜激情一区二区三区| 国产色产综合色产在线视频| 欧美系列亚洲系列| 国产成人亚洲精品青草天美 | 91精品欧美一区二区三区综合在| 精品日本一线二线三线不卡| 亚洲欧美福利一区二区| 99精品一区二区| 亚洲黄色在线视频| 九九在线精品视频| 91精品午夜视频| 成人黄色电影在线 | 亚洲嫩草精品久久| 精品久久久久久最新网址| 91在线视频播放| 韩国女主播一区| 亚洲香肠在线观看| 国产精品每日更新在线播放网址| 91精品一区二区三区久久久久久 | 香蕉久久一区二区不卡无毒影院| 精品国产乱码久久| 欧美日韩久久一区二区| 色综合天天做天天爱| 黄色日韩三级电影| 日本一道高清亚洲日美韩| 亚洲天堂av老司机| 国产精品午夜在线观看| 久久奇米777| 精品区一区二区| 日韩一卡二卡三卡| 制服丝袜成人动漫| 欧美日韩小视频| 欧美亚洲国产一区在线观看网站| 99久久综合99久久综合网站| 国精产品一区一区三区mba桃花 | 91官网在线观看| a在线欧美一区| 91精品国产综合久久久久久久| 美女精品一区二区| 成人蜜臀av电影| 蜜臀av一级做a爰片久久| 久久精品人人做人人爽人人| 欧美性猛交xxxx乱大交退制版| 精品在线观看视频| 久久精品国产网站| 奇米色777欧美一区二区| 亚洲同性gay激情无套| 日韩精品中文字幕在线一区| 26uuu亚洲综合色| 色哟哟国产精品免费观看| 国产成人亚洲精品青草天美| 国产精品一区二区不卡| 国产精品综合在线视频| 国产福利91精品一区| 国产91精品久久久久久久网曝门| 国产成人综合精品三级| 99热国产精品| 在线一区二区三区| 欧美日高清视频| 日韩欧美色综合网站| 精品国产91亚洲一区二区三区婷婷| 精品少妇一区二区| 国产无遮挡一区二区三区毛片日本| 国产欧美一区二区精品性色超碰 | 亚洲视频中文字幕| 亚洲午夜免费视频| 久久99日本精品| 成人免费看视频| 欧美在线观看一区二区| 欧美一区二区三区的| 久久久久久亚洲综合影院红桃| 亚洲国产精品成人久久综合一区| 亚洲日本丝袜连裤袜办公室| 偷窥国产亚洲免费视频| 国产一区不卡视频| 色94色欧美sute亚洲线路一久| 欧美精品一二三区| 国产蜜臀97一区二区三区| 亚洲与欧洲av电影| 韩国中文字幕2020精品| 9人人澡人人爽人人精品| 欧美日韩国产另类不卡| 国产女主播一区| 午夜av一区二区| bt欧美亚洲午夜电影天堂| 欧美日韩激情一区二区三区| 久久蜜桃av一区二区天堂| 亚洲精品v日韩精品| 精品在线亚洲视频| 欧美系列日韩一区| 中文字幕第一页久久| 日韩精品成人一区二区三区| 成人精品亚洲人成在线| 337p亚洲精品色噜噜| 亚洲欧美色图小说| 国产一区二区三区免费看| 欧美四级电影网| 国产精品久久久久一区| 久久91精品久久久久久秒播| 色哟哟国产精品| 亚洲综合在线五月| 国产精品1区2区3区在线观看| 欧美三级在线播放| 中文字幕一区二区三区精华液| 精品一区二区三区av| 欧美喷水一区二区| 亚洲免费大片在线观看| 成人性生交大片免费看中文网站| 日韩欧美国产小视频| 午夜伊人狠狠久久| 色成人在线视频| 亚洲视频香蕉人妖| 国产成人福利片| 久久久精品国产99久久精品芒果| 日本中文一区二区三区| 欧美日韩国产乱码电影| 亚洲一区自拍偷拍| 色诱视频网站一区| 亚洲男同性恋视频|