久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区


曙海教育集團論壇Win CE 專區WinCE應用開發 → WinCE應用開發——觸摸屏輸入


  共有8988人關注過本帖樹形打印

主題:WinCE應用開發——觸摸屏輸入

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發短信
等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
WinCE應用開發——觸摸屏輸入  發帖心情 Post By:2010-11-26 9:10:54

一,信息

觸摸屏信息同鼠標信息,不過只有WM_LBUTTONDOWNWM_LBUTTONUP WM_MOUSEMOVE 三種。

二,捕捉函數

BOOL GetMouseMovePoints (PPOINT pptBuf, UINT nBufPoints,

UINT *pnPointsRetrieved);

三,實例

PenTrac.h
#define dim(x) (sizeof(x) / sizeof(x[0]))
struct decodeUINT {                             // Structure associates
    UINT Code;                                  // messages 
                                                // with a function. 
    LRESULT (*Fxn)(HWND, UINT, WPARAM, LPARAM);
}; 
struct decodeCMD {                              // Structure associates
    UINT Code;                                  // menu IDs with a 
    LRESULT (*Fxn)(HWND, WORD, HWND, WORD);     // function.
};
HWND InitInstance (HINSTANCE, LPWSTR, int);
int TermInstance (HINSTANCE, int);
LRESULT CALLBACK MainWndProc (HWND, UINT, WPARAM, LPARAM);
LRESULT DoPaintMain (HWND, UINT, WPARAM, LPARAM);
LRESULT DoMouseMain (HWND, UINT, WPARAM, LPARAM);
LRESULT DoDestroyMain (HWND, UINT, WPARAM, LPARAM);
PenTrac.cpp
#include <windows.h>                 // For all that Windows stuff
#include "pentrac.h"                 // Program-specific stuff
const TCHAR szAppName[] = TEXT ("PenTrac");
HINSTANCE hInst;                     // Program instance handle
const struct decodeUINT MainMessages[] = {
    WM_LBUTTONDOWN, DoMouseMain,
    WM_MOUSEMOVE, DoMouseMain,
    WM_DESTROY, DoDestroyMain,
};
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                    LPWSTR lpCmdLine, int nCmdShow) {
    MSG msg;
    int rc = 0;
    HWND hwndMain;
    hwndMain = InitInstance (hInstance, lpCmdLine, nCmdShow);
    if (hwndMain == 0)
        return 0x10;
    while (GetMessage (&msg, NULL, 0, 0)) {
        TranslateMessage (&msg);
        DispatchMessage (&msg);
    }
    return TermInstance (hInstance, msg.wParam);
}
HWND InitInstance (HINSTANCE hInstance, LPWSTR lpCmdLine, int nCmdShow) {
    WNDCLASS wc;
    HWND hWnd;
#if defined(WIN32_PLATFORM_PSPC)
    hWnd = FindWindow (szAppName, NULL);
    if (hWnd) {
        SetForegroundWindow ((HWND)(((DWORD)hWnd) | 0x01));    
        return 0;
    }
#endif
    hInst = hInstance;
    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;
    hWnd = CreateWindowEx (WS_EX_NODRAG, szAppName, TEXT ("PenTrac"),
                         WS_VISIBLE | WS_CAPTION | WS_SYSMENU,
                         CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, 
                         CW_USEDEFAULT, NULL, NULL, hInstance, NULL);
    if (!IsWindow (hWnd)) return 0;
    ShowWindow (hWnd, nCmdShow);
    UpdateWindow (hWnd);
    return hWnd;
}
int TermInstance (HINSTANCE hInstance, int nDefRC) {
    return nDefRC;
}
LRESULT CALLBACK MainWndProc (HWND hWnd, UINT wMsg, WPARAM wParam,
                              LPARAM lParam) {
    INT i;
    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);
}
LRESULT DoMouseMain (HWND hWnd, UINT wMsg, WPARAM wParam, 
                     LPARAM lParam) {
    POINT pt[64];
    POINT ptM;
    UINT i, uPoints = 0;
    HDC hdc;
    ptM.x = LOWORD (lParam);
    ptM.y = HIWORD (lParam);
    hdc = GetDC (hWnd);
    if (wMsg == WM_MOUSEMOVE) {
        if (wParam & MK_SHIFT) 
            GetMouseMovePoints (pt, 64, &uPoints);
        for (i = 0; i < uPoints; i++) {
            pt[i].x /= 4;  // Convert move pts to screen coords
            pt[i].y /= 4;
            MapWindowPoints (HWND_DESKTOP, hWnd, &pt[i], 1);
            SetPixel (hdc, pt[i].x,   pt[i].y, RGB (255, 0, 0));
            SetPixel (hdc, pt[i].x+1, pt[i].y, RGB (255, 0, 0));
            SetPixel (hdc, pt[i].x,   pt[i].y+1, RGB (255, 0, 0));
            SetPixel (hdc, pt[i].x+1, pt[i].y+1, RGB (255, 0, 0));
        }
    }
    SetPixel (hdc, ptM.x, ptM.y, RGB (0, 0, 0));
    SetPixel (hdc, ptM.x+1, ptM.y, RGB (0, 0, 0));
    SetPixel (hdc, ptM.x, ptM.y+1, RGB (0, 0, 0));
    SetPixel (hdc, ptM.x+1, ptM.y+1, RGB (0, 0, 0));
    ReleaseDC (hWnd, hdc);
    Sleep(25);
    return 0;
}
LRESULT DoDestroyMain (HWND hWnd, UINT wMsg, WPARAM wParam,
                       LPARAM lParam) {
    PostQuitMessage (0);
    return 0;
}

clip_image001


支持(0中立(0反對(0單帖管理 | 引用 | 回復 回到頂部

返回版面帖子列表

WinCE應用開發——觸摸屏輸入








簽名
久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区
国产一区免费在线观看| 91亚洲精品久久久蜜桃| 亚洲国产欧美日韩| 国模少妇一区二区三区| 欧美激情第六页| 激情综合一区二区三区| 中文字幕免费观看一区| 色8久久精品久久久久久蜜| 捆绑变态av一区二区三区| 精品伦理精品一区| 亚洲欧洲免费无码| 91香蕉视频mp4| 日本麻豆一区二区三区视频| 国产亚洲精品免费| 欧美中文字幕久久| 麻豆av一区二区三区| 国产精品中文欧美| 亚洲电影激情视频网站| 日韩欧美国产三级电影视频| 亚洲 国产 欧美一区| 成人avav影音| 美女视频第一区二区三区免费观看网站| 欧洲精品中文字幕| 激情视频一区二区| 成人午夜视频网站| 麻豆成人久久精品二区三区小说| 欧美另类videos死尸| 神马影院午夜我不卡| 激情综合色播五月| 天堂av在线一区| 亚洲精品va在线观看| 久久亚洲精品小早川怜子| 色婷婷av一区二区三区之一色屋| 国产成人在线视频播放| 午夜精品久久久久久久久久久| 8x8x8国产精品| 91国内精品野花午夜精品| 蜜桃视频在线观看成人| 91九色偷拍| hitomi一区二区三区精品| 国产精品一区二区三区乱码 | 另类综合日韩欧美亚洲| 亚洲码国产岛国毛片在线| 欧美日韩免费电影| 色婷婷国产精品综合在线观看| 99国产欧美另类久久久精品| 粉嫩av一区二区三区| 国产麻豆精品theporn| 日韩中文字幕av电影| 夜夜嗨av一区二区三区中文字幕| 555www色欧美视频| 蜜桃成人在线| 蜜桃久久影院| 麻豆av一区二区三区久久| 久久riav二区三区| 国产亚洲精品自在久久| 激情综合色播激情啊| 免费精品视频在线| 奇米色一区二区三区四区| 丝瓜av网站精品一区二区| 久久久国产午夜精品| 精品盗摄一区二区三区| 欧美电影免费提供在线观看| 日韩欧美成人激情| 91黄色在线观看| 欧美日韩在线电影| 在线播放国产精品二区一二区四区 | 国产午夜精品一区二区三区嫩草| 中文字幕一区二区三区四区五区| 播五月开心婷婷综合| 91精品国产99久久久久久红楼| 久久精品国产在热久久| 亚洲午夜久久久久久久久电影网 | 日韩av中文字幕一区二区| 亚洲va天堂va国产va久| 国产精品久久久久影视| 亚洲天堂2014| 裸模一区二区三区免费| 国产在线一区二区三区四区| 欧美极品一区| 影音先锋在线亚洲| 欧美三级日本三级少妇99| 亚欧精品在线| 欧美色图第一页| 制服丝袜亚洲精品中文字幕| 大桥未久av一区二区三区中文| 日韩国产高清在线| 风间由美性色一区二区三区| 久久91精品久久久久久秒播| 亚洲成精国产精品女| 激情国产一区二区| 91在线丨porny丨国产| 国产欧美一区二区三区另类精品 | 日本精品一级二级| 久久99国产精品99久久| 一区二区三区av在线| 欧美日韩精品一区二区三区蜜桃| 欧洲av一区二区嗯嗯嗯啊| 日韩亚洲欧美高清| 678五月天丁香亚洲综合网| 久久精品亚洲国产奇米99| 亚洲一线二线三线久久久| 美日韩一区二区| 99久久国产免费免费| 视频一区在线免费观看| 欧美久久高跟鞋激| 国产精品拍天天在线| 日本不卡视频在线观看| 92精品国产成人观看免费| 深田咏美在线x99av| 精品久久国产老人久久综合| 久久综合一区二区| 午夜激情久久久| 免费在线观看精品| 波多野结衣久草一区| 国产精品手机视频| 欧美性大战久久久| 国产精品高潮呻吟| 国产一区二区导航在线播放| 精品亚洲第一| 亚洲精品一区二| 国产日韩欧美在线一区| 日本免费新一区视频 | 樱花影视一区二区| 成人久久视频在线观看| 日本欧洲国产一区二区| 欧美电视剧在线看免费| 午夜电影网一区| 国产99视频精品免费视频36| 欧美午夜电影在线播放| 国产精品久久久久一区二区三区共| 亚洲乱码国产乱码精品精可以看| 天天av天天翘天天综合网| 精品一区二区三区久久久| 极品校花啪啪激情久久| 91精品欧美一区二区三区综合在 | 欧美精品一区二区高清在线观看 | 欧美久久一区二区| 五月综合激情网| 久久精品国产精品青草色艺| 欧美一区二区三区电影| 午夜激情一区二区| 美女主播视频一区| 国产女同互慰高潮91漫画| 国产东北露脸精品视频| 色婷婷狠狠综合| 久久新电视剧免费观看| 亚洲无人区一区| 波多野结衣精品久久| 日韩欧美亚洲一区二区| 精品一区二区国语对白| 亚洲一区精品视频| 亚洲一区二区欧美日韩| 国产一区免费在线观看| 国产欧美日韩视频在线观看| 日韩黄色一级片| 日韩中文一区二区三区| 亚洲三级理论片| 国产精品视频免费一区二区三区 | 久久大片网站| 国产精品免费免费| 91视频91自| 精品少妇一区二区三区| 国产一区二区三区在线观看免费 | 制服丝袜日韩国产| 亚洲精品免费在线| 成人夜色视频网站在线观看| 日韩视频在线播放| 亚洲乱码国产乱码精品精98午夜| 国产成人av自拍| 91精品国产美女浴室洗澡无遮挡| 夜夜嗨av一区二区三区网页| 国产成人精品综合在线观看 | 草莓视频一区| 国产日韩精品一区| 99国产视频| 国产精品女同互慰在线看| 成人免费91在线看| 亚洲欧洲成人自拍| 欧美日韩在线观看一区二区三区| 日韩欧美国产一区二区在线播放| 婷婷开心久久网| 色系网站成人免费| 九九久久精品视频| 制服丝袜国产精品| 日本不卡在线视频| 欧美高清视频一二三区 | 国产精品国产三级国产普通话99 | 视频在线99re| 日韩激情av在线| 欧美伦理电影网| 成人av动漫网站| 国产精品伦一区| 日本不卡一区| 蜜桃一区二区三区在线观看| 日韩精品久久久毛片一区二区| 国产精品久久久久久福利一牛影视| 5g国产欧美日韩视频| 亚洲视频一区在线| 色吊一区二区三区|