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

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

?? ctlview.c

?? Wince.Net平臺上使用標準API實現的控件界面
?? C
字號:
//======================================================================
// CtlView - Lists the available fonts in the system.
//
// 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 "CtlView.h"                 // Program-specific stuff

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

// Message dispatch table for FrameWindowProc
const struct decodeUINT FrameMessages[] = {
    WM_CREATE, DoCreateFrame,
    WM_COMMAND, DoCommandFrame,
    MYMSG_ADDLINE, DoAddLineFrame,
    WM_DESTROY, DoDestroyFrame,
};

typedef struct {
    TCHAR *szTitle;
    INT   nID;
    TCHAR *szCtlWnds;
    HWND  hWndClient;
} RBTNDATA;

// Text for main window radio buttons
TCHAR *szBtnTitle[] = {TEXT ("Buttons"), TEXT ("Edit"), TEXT ("List"),
                       TEXT ("Static"), TEXT ("Scroll")};
// Class names for child windows containing controls
TCHAR *szCtlWnds[] = {BTNWND, EDITWND, LISTWND, STATWND, SCROLLWND};

INT nWndSel = 0;

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

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

    // Initialize this instance.
    hwndFrame = InitInstance (hInstance, lpCmdLine, nCmdShow);
    if (hwndFrame == 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 frame window class.
    wc.style = 0;                             // Window style
    wc.lpfnWndProc = FrameWndProc;            // 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) GetSysColorBrush (COLOR_STATIC);
    wc.lpszMenuName =  NULL;                  // Menu name
    wc.lpszClassName = szAppName;             // Window class name

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

    // Initialize client window classes
    if (InitBtnWnd (hInstance) != 0) return 2;
    if (InitEditWnd (hInstance) != 0) return 2;
    if (InitListWnd (hInstance) != 0) return 2;
    if (InitStatWnd (hInstance) != 0) return 2;
    if (InitScrollWnd (hInstance) != 0) return 2;
    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 frame window.
    hWnd = CreateWindow (szAppName,             // Window class
                         TEXT ("Control View"), // 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 FrameWindow
//
//----------------------------------------------------------------------
// FrameWndProc - Callback function for application window
//
LRESULT CALLBACK FrameWndProc (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(FrameMessages); i++) {
        if (wMsg == FrameMessages[i].Code)
            return (*FrameMessages[i].Fxn)(hWnd, wMsg, wParam, lParam);
    }
    return DefWindowProc (hWnd, wMsg, wParam, lParam);
}
//----------------------------------------------------------------------
// DoCreateFrame - Process WM_CREATE message for window.
//
LRESULT DoCreateFrame (HWND hWnd, UINT wMsg, WPARAM wParam,
                       LPARAM lParam) {
    LPCREATESTRUCT lpcs;
    HWND hwndCB, hwndChild;
    INT sHeight, i, x, y, cx, cy;

    // Convert lParam into pointer to create struct.
    lpcs = (LPCREATESTRUCT) lParam;
    x = lpcs->x;
    y = lpcs->y;
    cx = lpcs->cx;
    cy = lpcs->cy;
    nWndSel = 0;
    // Create a command bar.
    hwndCB = CommandBar_Create (hInst, hWnd, IDC_CMDBAR);
    // Add exit button to command bar.
    CommandBar_AddAdornments (hwndCB, 0, 0);
    sHeight = CommandBar_Height (GetDlgItem (hWnd, IDC_CMDBAR));

    // Create the radio buttons.
    for (i = 0; i < dim(szBtnTitle); i++) {
        hwndChild = CreateWindow (TEXT ("BUTTON"),
                                 szBtnTitle[i], BS_AUTORADIOBUTTON |
                                 WS_VISIBLE | WS_CHILD,
                                 10 + (i * 85), sHeight,
                                 80, 23, hWnd, (HMENU)(IDC_RADIOBTNS+i),
                                 hInst, NULL);

        // Destroy frame if window not created.
        if (!IsWindow (hwndChild)) {
            DestroyWindow (hWnd);
            break;
        }
    }
    //
    // Create report window.  Size it so that it fits under
    // the command bar and fills the remaining client area.
    //
    hwndChild = CreateWindowEx (WS_EX_CLIENTEDGE, TEXT ("listbox"),
                         TEXT (""), WS_VISIBLE | WS_CHILD | WS_VSCROLL |
                         LBS_USETABSTOPS | LBS_NOINTEGRALHEIGHT,
                         cx/2, y + sHeight + 25,
                         cx/2, cy - sHeight - 25,
                         hWnd, (HMENU)IDC_RPTLIST,
                         hInst, NULL);

    // Destroy frame if window not created.
    if (!IsWindow (hwndChild)) {
        DestroyWindow (hWnd);
        return 0;
    }
    // Initialize tab stops for display list box.
    i = 25;
    SendMessage (hwndChild, LB_SETTABSTOPS, 1, (LPARAM)&i);

    //
    // Create the child windows.  Size them so that they fit under
    // the command bar and fill the left side of the child area.
    //
    for (i = 0; i < dim(szCtlWnds); i++) {
        hwndChild = CreateWindowEx (WS_EX_CLIENTEDGE,
                             szCtlWnds[i],
                             TEXT (""), WS_CHILD,
                             x, y + sHeight + 25,
                             cx/2, cy - sHeight - 25,
                             hWnd, (HMENU)(IDC_WNDSEL+i),
                             hInst, NULL);
        // Destroy frame if client window not created.
        if (!IsWindow (hwndChild)) {
            DestroyWindow (hWnd);
            return 0;
        }
    }
    // Check one of the auto radio buttons.
    SendDlgItemMessage (hWnd, IDC_RADIOBTNS+nWndSel, BM_SETCHECK, 1, 0);
    hwndChild = GetDlgItem (hWnd, IDC_WNDSEL+nWndSel);
    ShowWindow (hwndChild, SW_SHOW);
    return 0;
}
//----------------------------------------------------------------------
// DoCommandFrame - Process WM_COMMAND message for window.
//
LRESULT DoCommandFrame (HWND hWnd, UINT wMsg, WPARAM wParam,
                        LPARAM lParam) {
    HWND hwndTemp;
    int nBtn;
    // Don't look at list box messages
    if (LOWORD (wParam) == IDC_RPTLIST)
        return 0;
    nBtn = LOWORD (wParam) - IDC_RADIOBTNS;
    if (nWndSel != nBtn) {

        // Hide the currently visible window.
        hwndTemp = GetDlgItem (hWnd, IDC_WNDSEL+nWndSel);
        ShowWindow (hwndTemp, SW_HIDE);

        // Save the current selection.
        nWndSel = nBtn;

        // Show the window selected via the radio button.
        hwndTemp = GetDlgItem (hWnd, IDC_WNDSEL+nWndSel);
        ShowWindow (hwndTemp, SW_SHOW);
    }
    return 0;
}
//----------------------------------------------------------------------
// DoAddLineFrame - Process MYMSG_ADDLINE message for window.
//
LRESULT DoAddLineFrame (HWND hWnd, UINT wMsg, WPARAM wParam,
                        LPARAM lParam) {
    TCHAR szOut[128];
    INT i;

    if (LOWORD (wParam) == 0xffff)
        wsprintf (szOut, TEXT ("      \t %s"), (LPTSTR)lParam);
    else
        wsprintf (szOut, TEXT ("id:%x \t %s"), LOWORD (wParam),
                  (LPTSTR)lParam);


    i = SendDlgItemMessage (hWnd, IDC_RPTLIST, LB_ADDSTRING, 0,
                            (LPARAM)(LPCTSTR)szOut);

    if (i != LB_ERR)
        SendDlgItemMessage (hWnd, IDC_RPTLIST, LB_SETTOPINDEX, i,
                            (LPARAM)(LPCTSTR)szOut);
    return 0;
}
//----------------------------------------------------------------------
// DoDestroyFrame - Process WM_DESTROY message for window.
//
LRESULT DoDestroyFrame (HWND hWnd, UINT wMsg, WPARAM wParam,
                        LPARAM lParam) {
    PostQuitMessage (0);
    return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩国产经典色站一区二区三区| 欧美国产精品专区| 2020国产精品自拍| 亚洲品质自拍视频| 久久se精品一区二区| 色8久久精品久久久久久蜜| 日韩免费一区二区| 一区二区三区欧美亚洲| 国产一区二区精品久久| 欧美久久久影院| 中文字幕中文乱码欧美一区二区| 成人av电影在线| 26uuuu精品一区二区| 亚洲成人免费视频| 色综合久久中文综合久久牛| 久久免费国产精品| 青青草伊人久久| 欧美在线免费视屏| 国产精品动漫网站| 国产成人综合在线播放| 欧美一区二区免费观在线| 亚洲一区二区不卡免费| 99久久国产综合精品麻豆| 国产亚洲精品资源在线26u| 日韩av在线发布| 欧美日韩一区成人| 午夜久久久久久久久| 91丝袜国产在线播放| 国产精品久久久久久户外露出| 国产一区亚洲一区| 国产日本一区二区| 国内精品国产成人| 久久精品男人天堂av| 极品少妇xxxx精品少妇| 精品国产亚洲一区二区三区在线观看| 天堂一区二区在线| 欧美一区三区二区| 美日韩一区二区| 精品国精品自拍自在线| 日韩高清不卡一区| 日韩久久久久久| 国产麻豆精品在线| 欧美国产一区二区在线观看| 成人综合在线观看| 中文字幕在线观看一区二区| 99精品视频一区二区| 亚洲免费在线观看| 欧美自拍丝袜亚洲| 日韩制服丝袜先锋影音| 日韩午夜激情免费电影| 国产乱理伦片在线观看夜一区| 久久久国际精品| 99精品黄色片免费大全| 亚洲综合成人在线视频| 日韩色视频在线观看| 狠狠狠色丁香婷婷综合久久五月| 中文字幕高清一区| 欧美影院午夜播放| 久久国产三级精品| 国产精品美女一区二区在线观看| 成人黄色网址在线观看| 亚洲午夜激情网站| 欧美精品一区二区三区在线播放| 成人短视频下载| 亚洲444eee在线观看| 久久精子c满五个校花| 色av综合在线| 久久精品av麻豆的观看方式| 国产精品短视频| 欧美电影一区二区| 国产成人在线视频网址| 成人天堂资源www在线| 亚洲一区二三区| 欧美精品一区二区久久婷婷| 99精品久久久久久| 精久久久久久久久久久| 自拍偷拍国产精品| 精品电影一区二区| 色偷偷成人一区二区三区91| 久久精品99久久久| 亚洲午夜精品一区二区三区他趣| 欧美精品一区二区久久久| 在线免费亚洲电影| 国产91丝袜在线18| 麻豆91免费观看| 亚洲自拍偷拍图区| 国产日韩三级在线| 日韩欧美综合一区| 欧美午夜精品电影| 成人av在线影院| 经典三级在线一区| 丝袜诱惑制服诱惑色一区在线观看| 中文字幕欧美三区| 欧美精品一区二区精品网| 8v天堂国产在线一区二区| 色先锋资源久久综合| 国v精品久久久网| 国产乱人伦偷精品视频不卡| 日本亚洲天堂网| 亚洲国产日韩a在线播放性色| 国产精品卡一卡二卡三| 久久久蜜桃精品| 日韩视频一区在线观看| 欧美日本精品一区二区三区| 91行情网站电视在线观看高清版| 粉嫩av亚洲一区二区图片| 精品无人区卡一卡二卡三乱码免费卡| 日韩中文字幕区一区有砖一区| 亚洲自拍另类综合| 亚洲国产精品精华液网站| 亚洲女子a中天字幕| 亚洲激情综合网| 亚洲乱码国产乱码精品精98午夜| 国产精品乱码一区二三区小蝌蚪| 久久精品欧美一区二区三区不卡| 久久久久久免费| 久久午夜色播影院免费高清| 2021中文字幕一区亚洲| 久久天天做天天爱综合色| 久久综合色之久久综合| 国产亚洲一区字幕| 亚洲国产成人一区二区三区| 亚洲欧洲av在线| 亚洲精品国产第一综合99久久 | 成人午夜看片网址| 久久丁香综合五月国产三级网站| 美女任你摸久久 | 午夜一区二区三区在线观看| 亚洲线精品一区二区三区八戒| 偷窥少妇高潮呻吟av久久免费| 午夜精品一区二区三区免费视频 | 国产大陆精品国产| 风间由美性色一区二区三区| 日韩午夜在线观看| 欧美成人猛片aaaaaaa| 国产欧美一区二区精品久导航 | 日产精品久久久久久久性色| 麻豆国产欧美一区二区三区| 国产美女一区二区三区| 波多野结衣91| 欧美日韩综合在线免费观看| 欧美一级xxx| 国产片一区二区三区| 亚洲天堂av一区| 亚洲高清免费在线| 国产一区二区在线影院| av午夜精品一区二区三区| 欧美日韩一区国产| 精品国产99国产精品| 亚洲欧洲国产日韩| 欧美aaa在线| 成人av在线播放网址| 欧美日韩国产综合一区二区三区 | 欧美精品1区2区3区| 欧美精品一区二区不卡| 亚洲精品视频自拍| 精品一区二区三区的国产在线播放| 国产一区二区三区在线观看精品| 91网站在线观看视频| 欧美一区二区三区视频在线| 中文字幕日韩一区| 美女网站在线免费欧美精品| 色婷婷精品久久二区二区蜜臀av | 亚洲色图20p| 久久国产夜色精品鲁鲁99| 一本色道久久综合亚洲91| 日韩欧美国产精品一区| 亚洲视频综合在线| 激情久久久久久久久久久久久久久久| 日本韩国一区二区三区视频| 久久久久久久久久久久电影 | 国产一二精品视频| 9191精品国产综合久久久久久| 久久精品水蜜桃av综合天堂| 亚洲国产一二三| 97久久久精品综合88久久| 精品久久久久99| 亚洲超碰97人人做人人爱| 99国产精品国产精品久久| 欧美mv日韩mv国产网站app| 亚洲国产一区二区在线播放| 91亚洲国产成人精品一区二区三| 欧美va亚洲va香蕉在线| 亚洲成a人v欧美综合天堂下载| 北岛玲一区二区三区四区| 久久亚洲精华国产精华液| 婷婷开心久久网| 欧美日韩精品系列| 一区二区三区丝袜| 色婷婷激情一区二区三区| 中文字幕亚洲欧美在线不卡| 东方aⅴ免费观看久久av| 精品理论电影在线| 免费成人小视频| 91精品久久久久久久99蜜桃| 亚洲3atv精品一区二区三区| 欧美日韩在线三级| 午夜精品久久久久久久蜜桃app| 日本一区二区三区免费乱视频| 免费欧美在线视频|