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

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

?? icontact.cpp

?? This code is Address book code for Windows Mobile. This source code support windows mobile 5.0 over.
?? CPP
?? 第 1 頁 / 共 5 頁
字號:

    EndPaint (hWnd, &ps);

    return 0;
}

//-----------------------------------------------------------------------------
// DoActivate - Process WM_ACTIVATE message for window
//
LRESULT DoActivate (HWND hWnd, UINT wMsg, WPARAM wParam,
                    LPARAM lParam) {

    DWORD dwState;
    RECT rc;

    if (wParam == WA_CLICKACTIVE || wParam == WA_ACTIVE) {
        // To switch to full screen mode, first hide all of the shell parts.
        dwState = (SHFS_HIDETASKBAR 
            | SHFS_HIDESTARTICON 
            | SHFS_HIDESIPBUTTON);

        SHFullScreen(hWnd, dwState);

        // Next resize the main window to the size of the screen.
        SetRect(&rc, 0, 0, GetSystemMetrics(SM_CXSCREEN), 
            GetSystemMetrics(SM_CYSCREEN));
        MoveWindow(hWnd, rc.left, rc.top, rc.right-rc.left, 
            rc.bottom-rc.top, TRUE);

        ShowWindow(hWnd, SW_SHOWNORMAL);
    }

    // The window is being deactivated... restore it to non-fullscreen
    else {
        // To switch to normal mode, first show all of the shell parts.
        dwState = (SHFS_SHOWTASKBAR 
            | SHFS_SHOWSTARTICON 
            | SHFS_SHOWSIPBUTTON);

        SHFullScreen(hWnd, dwState);

        // Next resize the main window to the size of the work area.
        SystemParametersInfo(SPI_GETWORKAREA, 0, &rc, FALSE);

        MoveWindow(hWnd, rc.left, rc.top, rc.right-rc.left,
            rc.bottom-rc.top, TRUE);
    }

    return DefWindowProc (hWnd, wMsg, wParam, lParam);
}

//-----------------------------------------------------------------------------
// DoTitlebarCallback - Process WM_TITLEBAR message for window
//
LRESULT DoTitlebarCallback (HWND hWnd, UINT wMsg, WPARAM wParam,
                    LPARAM lParam) {
    RefreshTitlebar(lParam);
    InvalidateRect(hWnd, &rTitlebar, false);
    return 0;
}

//-----------------------------------------------------------------------------
// DoSize - Process WM_SIZE message for window
//
LRESULT DoSize (HWND hWnd, UINT wMsg, WPARAM wParam,
                LPARAM lParam) {

	InitSurface(hWnd);

    return DefWindowProc (hWnd, wMsg, wParam, lParam);
}

//-----------------------------------------------------------------------------
// DoLButtonDown - Process WM_LBUTTONDOWN message for window
//
LRESULT DoLButtonDown (HWND hWnd, UINT wMsg, WPARAM wParam,
                       LPARAM lParam) {

	LastX = ptMouseDown.x = LOWORD(lParam);
	LastY = ptMouseDown.y = HIWORD(lParam);
    tStartTime = ::GetTickCount();

    if (bScrolling) {
        KillTimer(hWnd, IDT_TIMER_SCROLL);
        KillTimer(hWnd, IDT_TIMER_SCROLL_TO);
        Velocity = 0;
        bScrolling = false;
    }

    if (bDisplayingPopup || bTransitioning) {
        return 0;
    }

    if (stScreenType == stList 
        && LastX > rList.right - 20 
        && LastY >= rHeader.bottom 
        && LastY < rMenubar.top) {

        bScrolling = true;
        ScrollBar(LastY);
        InvalidateRect(hWnd, &rList, false);
        UpdateWindow(hWnd);
    }

    return 0;
}

//-----------------------------------------------------------------------------
// DoMouseMove - Process WM_MOUSEMOVE message for window
//
LRESULT DoMouseMove (HWND hWnd, UINT wMsg, WPARAM wParam,
                     LPARAM lParam) {

	int x = LOWORD(lParam);
	int y = HIWORD(lParam);
    int t = ::GetTickCount();

    if (bDisplayingPopup || bTransitioning) {
        return 0;
    }

    if (stScreenType == stList && ptMouseDown.y >= rMenubar.top) {
        return 0;
    }

    if (ptMouseDown.y < rHeader.bottom) {
        return 0;
    }

    // "back" button in header bar
    //TODO: back to categories from stScreenType == stList
    if (ptMouseDown.y < rHeader.top + HeaderClickHeight 
        && ptMouseDown.x <= HeaderClickHeight
        && stScreenType == stDetails) {

        return 0;
    }

    // "+" button in header bar, or * in detail view
    if (ptMouseDown.y < rHeader.top + HeaderClickHeight 
        && ptMouseDown.x >= rList.right - HeaderClickHeight 
        && (
            stScreenType == stList && pListData->CanAdd()
            || stScreenType == stDetails && pListData->CanFavorite()
        ) ) {

        return 0;
    }

	if (bScrolling) {
        ScrollBar(y);
        InvalidateRect(hWnd, &rList, false);
        UpdateWindow(hWnd);
		return 0;
	}

	if (abs(y - ptMouseDown.y) > SCROLL_THRESHOLD) {
        if (stScreenType == stList)
            pListData->UnselectItem();
        else if (stScreenType == stDetails)
            pListData->SelectDetail(-1);
        bDragging = true;
	}

    // SCROLL
    Scrolled = Scrolled - y + LastY;
	LastY = y;
	LastX = x;

    Velocity = (double)(LastY - ptMouseDown.y) / (t - tStartTime);
    tEndTime = t;

    InvalidateRect(hWnd, 
        (stScreenType == stDetails ? &rContent : &rList), false);

    UpdateWindow(hWnd);

	return 0;
}

//-----------------------------------------------------------------------------
// DoLButtonUp - Process WM_LBUTTONUP message for window
//
LRESULT DoLButtonUp (HWND hWnd, UINT wMsg, WPARAM wParam,
                       LPARAM lParam) {

    POINT pt;

    if (bTransitioning) {
        return 0;
    }

    if (bScrolling) {
        bScrolling = false;
        InvalidateRect(hWnd, &rList, FALSE);
        UpdateWindow(hWnd);
        return 0;
    }

	pt.x = LOWORD(lParam);
	pt.y = HIWORD(lParam);
    
    int minScroll = 0;
    int maxScroll = ListHeight > rListHeight ? ListHeight - rListHeight : 0;


    // They clicked on the popup, no matter what screen
    if (bDisplayingPopup) {
        StartTransition(hWnd, ttKeyboardShrink, SHRINK_KEYBOARD_PERIOD);

        int keyboardIndex = (pt.y / GroupHeight) 
            * (rScreen.right - rScreen.left) / GroupWidth 
            + (pt.x - rScreen.left) / GroupWidth;
        if (keyboardIndex < nKeyboardLetters) {
            pListData->UnselectItem();
            ScrollTo(hWnd, GroupPosition[keyboardIndex]);
        }
    }


    // They clicked in the titlebar
    // no matter what the screen type is
	else if (PtInRect(&rTitlebar, ptMouseDown) && PtInRect(&rTitlebar, pt)) {
        if (pSettings->doExitOnMinimize) {
            DestroyWindow(hWnd);
        }
        else {
            ShowWindow(hWnd, SW_MINIMIZE);
        }
	}


    // They clicked in the bottom menus (in list screen)
    else if (stScreenType == stList 
        && PtInRect(&rMenubar, ptMouseDown) && PtInRect(&rMenubar, pt)) {
        int tab = pt.x * 5 / (rMenubar.right - rMenubar.left);

        // we're assuming, here, that 
        // CMD_SHOW_FAVORITES ... CMD_SHOW_KEYBOARD are sequential
        SendNotifyMessage(hWnd, WM_COMMAND, CMD_GOTO_FAVORITES + tab, NULL);
    }


    // They scrolled the screen up too far
    else if (bDragging && Scrolled < minScroll) {
        bDragging = false;
        ScrollTo(hWnd, minScroll);
    }


    // They scrolled the screen down too far
    else if (bDragging && Scrolled > maxScroll) {
        bDragging = false;
        ScrollTo(hWnd, maxScroll);
    }


    // now we're scrolling
    else if (bDragging) {
        SetTimer(hWnd, IDT_TIMER_SCROLL, 
            REFRESH_RATE, (TIMERPROC) NULL);
        bScrolling = true;
        bDragging = false;
        return 0;
    } 

    else {
        int pos = 0;

        // This is the normal *click* event
        switch (stScreenType) {
            case stList:

                // "back" button in header bar
                if (pt.y >= rHeader.top 
                    && pt.y < rHeader.top + HeaderClickHeight 
                    && pt.x <= HeaderClickHeight) {

                    //TODO: back to categories
                }

                // "+" button in header bar
                else if (pt.y >= rHeader.top 
                    && pt.y < rHeader.top + HeaderClickHeight 
                    && pt.x >= rList.right - HeaderClickHeight 
                    && pListData->CanAdd()) {

			        pListData->AddItem();

                    // This will refresh the data in the current tab
                    SwitchTab(hWnd, nCurrentTab);
		        }

                // Clicked a list item
                else if (pt.y >= rList.top) {
                    pos = pt.y + Scrolled - rList.top;

                    pListData->SelectItem(GetPixelToItem(pos));
                    StartTransition(hWnd, ttSlideLeft, EXPAND_DETAILS_PERIOD);
                }
                break;

            case stDetails:

                // "back" button in header bar
                if (pt.y >= rHeader.top 
                    && pt.y < rHeader.top + HeaderClickHeight 
                    && pt.x <= HeaderClickHeight) {

                    // Back to list
                    StartTransition(hWnd, ttSlideRight, EXPAND_DETAILS_PERIOD);
                }

                // "*" button in header bar
                else if (pt.y >= rHeader.top 
                    && pt.y < rHeader.top + HeaderClickHeight 
                    && pt.x >= rList.right - HeaderClickHeight 
                    && pListData->CanFavorite()) {

                    SetCursor(LoadCursor(NULL, IDC_WAIT));
                    pListData->ToggleFavorite();
                    SetCursor(NULL);

                    // Switch back to list of favorites, if they just
                    // de-favorited one of them. Presumably, the one they
                    // just favorited will be missing from the list now.
                    if (nCurrentTab == 0) {
                        SwitchTab(hWnd, 0);
                    }
                    else {
                        pListData->PopulateDetails();
                        InvalidateRect(hWnd, &rHeader, false);
                    }
		        }

                // Clicked a list item
                else if (pt.y >= rList.top) {
			        // HANDLE SUBLIST EVENTS
                    pos = pt.y + Scrolled - rContent.top;
                    int subListIndex = pos / DefaultItemHeight;
                    if (!pListData->SelectDetail(subListIndex))
                        break;

                    InvalidateRect(hWnd, &rContent, false);
                    UpdateWindow(hWnd);

                    // TODO: is this the best way to send SMS?
                    int column = pt.x > rList.right - HeaderClickHeight ? 2 : 1;

                    HRESULT hr = pListData->PerformCurrentDetailAction(column);

                    if (SUCCEEDED(hr)) {
                        if (pSettings->doExitOnAction) {
                            DestroyWindow(hWnd);
                        }
                        else {
                            pListData->PopulateDetails();
                            CalculateHeights();
                        }
                    }
                    else {
                        SwitchTab(hWnd, nCurrentTab);
                    }
    		        InvalidateRect(hWnd, &rScreen, FALSE);
		        }
                if (NULL != pListData)
    		        pListData->SelectDetail(-1);

	            break;
        }
    }

    UpdateWindow(hWnd);

	return 0;
}

//-----------------------------------------------------------------------------
// DoTimer - Process WM_TIMER message for window
//
LRESULT DoTimer (HWND hWnd, UINT wMsg, WPARAM wParam,
                       LPARAM lParam) {

    DWORD t = ::GetTickCount();
    DWORD dt = 0;
    double s = 0.0;

    int minScrolled = 0;
    int maxScrolled = ListHeight <= rListHeight ? 0 : ListHeight - rListHeight;

	switch (wParam)	{

        ///// TIMER for scrolling
	    case IDT_TIMER_SCROLL:

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本高清不卡视频| 久久久久久久综合日本| 欧美性色黄大片手机版| 99re成人在线| 91麻豆国产精品久久| 国产**成人网毛片九色| 成人在线视频一区| 国产成+人+日韩+欧美+亚洲| 成人免费视频播放| 成人av在线一区二区| jizzjizzjizz欧美| 色综合天天狠狠| 91久久精品一区二区三| 欧美亚一区二区| 在线成人免费观看| 欧美一级一区二区| 欧美www视频| 久久久亚洲精品一区二区三区| 精品国产91久久久久久久妲己| 国产网站一区二区| 亚洲日本va在线观看| 亚洲综合成人在线| 秋霞午夜鲁丝一区二区老狼| 麻豆国产一区二区| 粉嫩在线一区二区三区视频| 99久久精品国产观看| 欧美日韩国产精品成人| 91精品国产色综合久久不卡电影| 欧美日韩高清一区二区不卡| 欧美电影免费观看高清完整版| 久久影院午夜片一区| 中文字幕亚洲视频| 亚洲大片免费看| 久草中文综合在线| 成人av午夜电影| 欧美性xxxxxx少妇| 精品精品国产高清一毛片一天堂| 国产精品美女久久久久aⅴ| 一区二区三区产品免费精品久久75| 日韩激情一区二区| 国产91清纯白嫩初高中在线观看 | 国产乱码精品一区二区三区av | 久久久噜噜噜久久中文字幕色伊伊| 国产精品久久久久久户外露出| 亚洲五月六月丁香激情| 激情欧美一区二区三区在线观看| 成人av片在线观看| 91麻豆精品国产自产在线| 国产喂奶挤奶一区二区三区| 亚洲国产精品尤物yw在线观看| 久久精品国产亚洲高清剧情介绍| 成人av片在线观看| 欧美一区二区三区四区高清| 国产精品―色哟哟| 日韩精品高清不卡| 91视视频在线直接观看在线看网页在线看| 欧美日本一区二区在线观看| 久久精品无码一区二区三区| 亚洲成精国产精品女| 国产白丝精品91爽爽久久| 精品视频123区在线观看| 欧美国产精品一区| 另类的小说在线视频另类成人小视频在线 | 久久精品国产免费| 色综合色狠狠综合色| 26uuu久久天堂性欧美| 一区二区三区不卡视频| 丁香一区二区三区| 91精品国产91久久久久久一区二区| 国产精品国产精品国产专区不蜜| 男女男精品视频网| 欧美视频完全免费看| 国产精品亲子乱子伦xxxx裸| 美国一区二区三区在线播放| 欧美日韩中文字幕一区| ...av二区三区久久精品| 国产裸体歌舞团一区二区| 91精品国产综合久久国产大片| 亚洲乱码日产精品bd| 成人亚洲一区二区一| 欧美一区二区观看视频| 亚洲一区二区在线免费看| 成人激情小说乱人伦| 久久综合九色综合97婷婷| 日产国产高清一区二区三区| 欧美专区在线观看一区| 136国产福利精品导航| 国产成+人+日韩+欧美+亚洲| 亚洲精品在线电影| 日韩av一区二区在线影视| 欧美亚洲免费在线一区| 日韩伦理电影网| av日韩在线网站| 国产午夜亚洲精品理论片色戒| 精品综合久久久久久8888| 91精品黄色片免费大全| 亚洲一区免费观看| 91国产视频在线观看| 亚洲伦理在线精品| 一本大道综合伊人精品热热| 亚洲视频中文字幕| 99久久久久免费精品国产| 中文字幕高清一区| 成人午夜电影久久影院| 中文字幕一区二区三区在线观看| 国产成人av资源| 国产三级精品三级| 风流少妇一区二区| 国产精品久久一级| 97久久超碰国产精品电影| 最近中文字幕一区二区三区| 99久久精品久久久久久清纯| 亚洲欧美色综合| 在线观看成人小视频| 亚洲超碰97人人做人人爱| 欧美精品在线一区二区| 日本成人在线看| 亚洲精品在线电影| 风间由美中文字幕在线看视频国产欧美| 国产欧美日韩精品在线| 99久久99久久精品国产片果冻 | 亚洲va韩国va欧美va| 欧美日本韩国一区二区三区视频| 婷婷成人激情在线网| 日韩一区二区不卡| 国产激情精品久久久第一区二区 | 成人网在线免费视频| 亚洲精选视频免费看| 欧美情侣在线播放| 极品销魂美女一区二区三区| 中文字幕欧美日韩一区| 99国产精品久久| 午夜久久福利影院| 久久免费看少妇高潮| 一本高清dvd不卡在线观看| 五月激情综合网| 2021久久国产精品不只是精品| 国产精品 日产精品 欧美精品| 亚洲欧美另类久久久精品| 在线不卡的av| 国产福利一区二区三区| 亚洲美女淫视频| 这里只有精品视频在线观看| 国产一区二区三区香蕉| 自拍偷拍亚洲综合| 4438亚洲最大| 不卡一二三区首页| 天天操天天色综合| 国产精品午夜电影| 欧美日韩的一区二区| 国产在线国偷精品免费看| 成人免费一区二区三区在线观看| 3d成人h动漫网站入口| 成人美女视频在线观看| 日韩专区一卡二卡| 成人免费视频在线观看| 欧美一区二区三区思思人| av一区二区三区| 毛片av一区二区| 一区二区三区日本| 久久久久国产精品人| 欧美日韩一区二区三区四区五区| 国产精品自拍av| 五月天一区二区三区| 中文字幕在线不卡视频| 欧美电影免费观看高清完整版在线观看| 99精品视频一区二区三区| 久久精品国产77777蜜臀| 亚洲欧美一区二区三区极速播放 | 亚洲三级在线免费观看| 精品成人免费观看| 欧美日韩国产欧美日美国产精品| 成人精品视频一区二区三区| 久久国产日韩欧美精品| 亚洲国产精品自拍| 18涩涩午夜精品.www| 国产亚洲欧美色| 日韩免费观看高清完整版| 欧美色图免费看| 成人高清视频免费观看| 国产一区二区三区在线观看精品| 午夜av一区二区三区| 亚洲美女区一区| 国产亚洲成年网址在线观看| 日韩欧美在线不卡| 欧美精品18+| 欧美性受xxxx| 色综合天天综合网天天看片| 岛国精品在线观看| 国产综合久久久久久鬼色| 热久久国产精品| 三级不卡在线观看| 亚洲成人先锋电影| 亚洲午夜一区二区三区| 亚洲蜜臀av乱码久久精品蜜桃| 国产精品乱码久久久久久| 精品国产成人在线影院| 欧美电视剧免费观看| 欧美一二三区在线观看| 欧美乱妇15p|