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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? shapes.c

?? MS-Press book about programming under Windows CE with source-codes of examples
?? C
字號:
//======================================================================
// Shapes- Brush and shapes demo for Windows CE
//
// Written for the book Programming Windows CE
// Copyright (C) 1998 Douglas Boling
//
//======================================================================
#include <windows.h>                 // For all that Windows stuff
#include <commctrl.h>                // Command bar includes
#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_CREATE, DoCreateMain,
    WM_PAINT, DoPaintMain,
    WM_DESTROY, DoDestroyMain,
};

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

    // Initialize application.
    rc = InitApp (hInstance);
    if (rc) return rc;

    // 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);
}
//----------------------------------------------------------------------
// InitApp - Application initialization
//
int InitApp (HINSTANCE hInstance) {
    WNDCLASS wc;

    // 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 = NULL;                        // Default cursor
    wc.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH);
    wc.lpszMenuName =  NULL;                  // Menu name
    wc.lpszClassName = szAppName;             // Window class name

    if (RegisterClass (&wc) == 0) return 1;

    return 0;
}
//----------------------------------------------------------------------
// InitInstance - Instance initialization
//
HWND InitInstance (HINSTANCE hInstance, LPWSTR lpCmdLine,
    int nCmdShow){
    HWND hWnd;

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

    // Create main window
    hWnd = CreateWindow (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);
}
//----------------------------------------------------------------------
// DoCreateMain - Process WM_CREATE message for window.
//
LRESULT DoCreateMain (HWND hWnd, UINT wMsg, WPARAM wParam, 
                      LPARAM lParam) {
    HWND hwndCB;

    // Create a command bar.
    hwndCB = CommandBar_Create (hInst, hWnd, IDC_CMDBAR);

    // Add exit button to command bar. 
    CommandBar_AddAdornments (hwndCB, 0, 0);
    return 0;
}
//----------------------------------------------------------------------
// MyCreateHachBrush - Creates hatched brushes
//
HBRUSH MyCreateHachBrush (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.
//
//#define ENDPOINTS 32
#define ENDPOINTS 64

LRESULT DoPaintMain (HWND hWnd, UINT wMsg, WPARAM wParam, 
                     LPARAM lParam) {
    PAINTSTRUCT ps;
    RECT rect;
    HDC hdc;
    POINT ptArray[ENDPOINTS];
    HBRUSH hBr, hOldBr;
    TCHAR szText[128];

    // Adjust the size of the client rect to take into account
    // the command bar height.
    GetClientRect (hWnd, &rect);
    rect.top += CommandBar_Height (GetDlgItem (hWnd, IDC_CMDBAR));

    hdc = BeginPaint (hWnd, &ps); 

    // Draw rectangle.
    hBr = GetStockObject (BLACK_BRUSH);
    hOldBr = SelectObject (hdc, hBr);
    Rectangle (hdc, 50, 50, 125, 150);
    SelectObject (hdc, hOldBr);

    // Draw ellipse.
    hBr = GetStockObject (DKGRAY_BRUSH);
    hOldBr = SelectObject (hdc, hBr);
    Ellipse (hdc, 150, 50, 225, 150);
    SelectObject (hdc, hOldBr);

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

    // Draw hexagon using Polygon.
    hBr = GetStockObject (WHITE_BRUSH);
    hOldBr = SelectObject (hdc, hBr);
    ptArray[0].x = 387;
    ptArray[0].y = 50;
    ptArray[1].x = 350;
    ptArray[1].y = 75;
    ptArray[2].x = 350;
    ptArray[2].y = 125;
    ptArray[3].x = 387;
    ptArray[3].y = 150;
    ptArray[4].x = 425;
    ptArray[4].y = 125;
    ptArray[5].x = 425;
    ptArray[5].y = 75;

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

    hBr = MyCreateHachBrush (HS_DIAGCROSS, RGB (0, 0, 0));
    hOldBr = SelectObject (hdc, hBr);
    Rectangle (hdc, 50, 165, 425, 210);
    SelectObject (hdc, hOldBr);
    DeleteObject (hBr);

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

    SetBkMode (hdc, TRANSPARENT);
    lstrcpy (szText, TEXT ("Transparent background"));
    ExtTextOut (hdc, 250, 175, 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;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美美女网站色| 欧美精品一区二区在线播放| 捆绑紧缚一区二区三区视频| 中文无字幕一区二区三区| 欧美日韩亚洲综合在线| 成人天堂资源www在线| 蜜臀av一区二区在线免费观看| 自拍视频在线观看一区二区| 精品久久久久久无| 91精品国产综合久久久久久久| 成人黄色片在线观看| 黄色资源网久久资源365| 亚洲成人精品在线观看| 最新国产精品久久精品| 久久精品视频免费| 欧美成人性福生活免费看| 欧美日韩一区不卡| 91久久线看在观草草青青| 国产成人激情av| 国产乱一区二区| 日本成人在线视频网站| 天涯成人国产亚洲精品一区av| 亚洲人成在线播放网站岛国 | 综合欧美亚洲日本| 国产午夜精品久久| 久久久久久久久久久黄色| 欧美tickling挠脚心丨vk| 欧美一级艳片视频免费观看| 欧美男男青年gay1069videost| 欧美性感一区二区三区| 一本大道综合伊人精品热热| 91免费看视频| 色婷婷精品大视频在线蜜桃视频| 99久久久久免费精品国产 | 成人一二三区视频| 国产高清久久久久| 成人午夜在线播放| 成人影视亚洲图片在线| 波多野结衣中文字幕一区| 岛国精品在线播放| 99vv1com这只有精品| 91在线国产福利| 91黄视频在线观看| 欧美日韩高清一区| 欧美一区二区三区电影| 日韩三级伦理片妻子的秘密按摩| 日韩精品在线网站| 国产亚洲自拍一区| 中文字幕一区免费在线观看| 亚洲另类在线制服丝袜| 亚洲国产视频一区二区| 天天综合天天做天天综合| 奇米色一区二区| 国产精品一区二区x88av| www.综合网.com| 欧美视频在线一区| 欧美电影精品一区二区| 欧美国产在线观看| 亚洲三级在线播放| 偷拍一区二区三区| 激情五月激情综合网| 丁香六月久久综合狠狠色| 一本久道久久综合中文字幕| 欧美裸体bbwbbwbbw| 精品久久久网站| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 亚洲综合在线视频| 久热成人在线视频| 9l国产精品久久久久麻豆| 欧美中文字幕一区二区三区| 日韩欧美中文一区二区| 中文字幕乱码日本亚洲一区二区| 亚洲色图欧美激情| 麻豆精品视频在线观看视频| 国产成人精品免费视频网站| 91福利社在线观看| 欧美videos中文字幕| 国产精品午夜在线| 亚洲r级在线视频| 国产麻豆精品一区二区| 在线看日本不卡| 久久久www成人免费毛片麻豆| 亚洲靠逼com| 国产一区二区精品久久91| 色婷婷精品久久二区二区蜜臀av| 精品少妇一区二区三区免费观看| 亚洲人吸女人奶水| 韩国在线一区二区| 欧美三级一区二区| 日本一区二区视频在线观看| 日韩电影在线看| 99re免费视频精品全部| 久久综合九色综合久久久精品综合| 最新国产の精品合集bt伙计| 精品一区二区在线播放| 欧美视频完全免费看| 国产精品蜜臀av| 久久国产生活片100| 欧美视频一区二| 国产精品国产三级国产普通话三级| 久久福利视频一区二区| 在线观看亚洲专区| 中文字幕亚洲成人| 国产剧情一区二区三区| 欧美一区三区二区| 亚洲电影视频在线| 91精品福利视频| 国产精品黄色在线观看| 国产成人综合在线播放| 中文字幕一区日韩精品欧美| 久久99久久精品| 欧美疯狂性受xxxxx喷水图片| 亚洲九九爱视频| 91在线观看地址| 亚洲欧洲日韩av| 成人黄色av电影| 国产精品区一区二区三区| 国产精品资源在线观看| 欧美成va人片在线观看| 青青草成人在线观看| 欧美一区三区二区| 日韩精品每日更新| 欧美日本精品一区二区三区| 樱花草国产18久久久久| 日本道在线观看一区二区| 亚洲视频狠狠干| 91免费视频网址| 自拍偷拍国产亚洲| 色视频欧美一区二区三区| 亚洲欧美一区二区视频| 99热这里都是精品| 中文字幕佐山爱一区二区免费| 成人97人人超碰人人99| 国产精品美女久久久久aⅴ| 岛国精品一区二区| 一区在线观看免费| 色妹子一区二区| 亚洲综合一二区| 欧美夫妻性生活| 久久97超碰色| 国产欧美一区二区精品性色超碰| 国产精品白丝jk黑袜喷水| 日本一区二区动态图| 91色九色蝌蚪| 亚洲成人av资源| 欧美白人最猛性xxxxx69交| 国产综合久久久久影院| 欧美激情一区三区| 99re66热这里只有精品3直播| 亚洲精品一二三区| 欧美视频一区二区三区在线观看 | 色综合天天综合网天天看片| 亚洲乱码日产精品bd| 欧美区视频在线观看| 久草这里只有精品视频| 国产香蕉久久精品综合网| 不卡一区在线观看| 亚洲蜜臀av乱码久久精品蜜桃| 欧美视频日韩视频| 国产一区二区三区在线观看免费视频 | 色妞www精品视频| 日韩精品五月天| 国产日韩精品一区二区三区在线| 色综合久久天天| 奇米色一区二区三区四区| 久久精品视频免费| 欧美亚洲一区二区在线观看| 蜜桃视频第一区免费观看| 中文字幕乱码日本亚洲一区二区| 在线观看不卡一区| 国产揄拍国内精品对白| 最近中文字幕一区二区三区| 欧美日韩1区2区| 国产凹凸在线观看一区二区| 亚洲精品成人精品456| 欧美大片一区二区三区| 99久久精品国产观看| 秋霞电影网一区二区| 综合久久一区二区三区| 日韩欧美成人激情| 色婷婷国产精品综合在线观看| 理论电影国产精品| 一区av在线播放| 国产午夜精品美女毛片视频| 欧美日韩你懂得| 成人免费观看视频| 日韩电影在线观看电影| 亚洲视频在线一区| 337p粉嫩大胆色噜噜噜噜亚洲| 91福利视频久久久久| 国产成人午夜电影网| 三级影片在线观看欧美日韩一区二区 | 亚洲成a天堂v人片| 国产精品对白交换视频| 欧美一区二区三区四区视频| 91麻豆蜜桃一区二区三区| 国产一区二区三区精品视频| 亚洲成人激情自拍| 亚洲免费在线看| 日本一区二区在线不卡|