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

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

?? window.c

?? 新片介紹
?? C
?? 第 1 頁 / 共 5 頁
字號(hào):
/* ** $Id: window.c,v 1.145 2003/09/04 03:15:07 weiym Exp $**** window.c: The Window module.**** Copyright (C) 2003 Feynman Software.** Copyright (C) 1999 ~ 2002 Wei Yongming.**** Current maintainer: Wei Yongming.**** Create date: 1999.04.19*//*** This program is free software; you can redistribute it and/or modify** it under the terms of the GNU General Public License as published by** the Free Software Foundation; either version 2 of the License, or** (at your option) any later version.**** This program is distributed in the hope that it will be useful,** but WITHOUT ANY WARRANTY; without even the implied warranty of** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the** GNU General Public License for more details.**** You should have received a copy of the GNU General Public License** along with this program; if not, write to the Free Software** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA*//*** TODO:*/ #include <stdlib.h>#include <string.h>#include "common.h"#include "minigui.h"#include "gdi.h"#include "window.h"#include "control.h"#include "cliprect.h"#include "gal.h"#include "internals.h"#include "menu.h"#include "ctrlclass.h"#if defined(_LITE_VERSION) && !defined(_STAND_ALONE)#include "client.h"#endif// function defined in menu module.void DrawMenuBarHelper (const MAINWIN *pWin, HDC hdc, const RECT* pClipRect);// functions defined in caret module.BOOL BlinkCaret (HWND hWnd);void GetCaretBitmaps (PCARETINFO pCaretInfo);// this message will auto-repeat when MSG_IDLE receivedstatic MSG sg_repeat_msg = {HWND_DESKTOP, 0, 0, 0};void GUIAPI SetAutoRepeatMessage (HWND hwnd, int msg, WPARAM wParam, LPARAM lParam){    sg_repeat_msg.hwnd = hwnd;    sg_repeat_msg.message  = msg;    sg_repeat_msg.wParam = wParam;    sg_repeat_msg.lParam = lParam;}static void RecalcClientArea (HWND hWnd){    PMAINWIN pWin = (PMAINWIN)hWnd;    RECT rcWin, rcClient;            memcpy (&rcWin, &pWin->left, sizeof (RECT));    memcpy (&rcClient, &pWin->cl, sizeof (RECT));    if (SendAsyncMessage (hWnd, MSG_SIZECHANGED,             (WPARAM)&rcWin, (LPARAM)&rcClient))        memcpy (&pWin->cl, &rcClient, sizeof(RECT));}static PCONTROL wndMouseInWhichControl (PMAINWIN pWin, int x, int y,                         int* UndHitCode){    PCONTROL pCtrl;    int hitcode;       pCtrl = (PCONTROL)pWin->hPrimitive;    if (pCtrl) {        if (pCtrl->primitive) {            if (UndHitCode)                *UndHitCode = HT_CLIENT;            return pCtrl;        }        else {            hitcode = SendAsyncMessage ((HWND)pCtrl, MSG_HITTEST,                                         (WPARAM)x, (LPARAM)y);            if (hitcode != HT_OUT && hitcode != HT_TRANSPARENT) {                if (UndHitCode)                    *UndHitCode = hitcode;                return pCtrl;            }        }    }    pCtrl = (PCONTROL)(pWin->hFirstChild);    while (pCtrl) {        if ((pCtrl->dwStyle & WS_VISIBLE)                 && PtInRect ((PRECT)(&pCtrl->left), x, y)) {            hitcode = SendAsyncMessage((HWND)pCtrl, MSG_HITTEST,                                         (WPARAM)x, (LPARAM)y);            if (hitcode != HT_OUT && hitcode != HT_TRANSPARENT) {                if (UndHitCode)                    *UndHitCode = hitcode;                return pCtrl;            }        }        pCtrl = pCtrl->next;    }    return NULL;}// NOTE:// this function is CONTROL mouse messages handler,// can automaticly capture mouse depend on HITTEST code.//static int DefaultMouseMsgHandler (PMAINWIN pWin, int message,                            WPARAM flags, int x, int y){    static PMAINWIN pCapturedWin = NULL;    static PCONTROL pCaptured = NULL;    PCONTROL pUnderPointer;    int CapHitCode = HT_UNKNOWN;    int UndHitCode = HT_UNKNOWN;    int cx = 0, cy = 0;    if (message == MSG_WINDOWCHANGED) {        POINT mousePos;                pCaptured = NULL;        CapHitCode = HT_UNKNOWN;        GetCursorPos (&mousePos);        PostMessage (HWND_DESKTOP, MSG_MOUSEMOVE, 0, MAKELONG (mousePos.x, mousePos.y));        return 0;    }    if (pCaptured) {        // convert to parent window's client coordinates.        ScreenToClient ((HWND)pCapturedWin, &x, &y);        CapHitCode = SendAsyncMessage((HWND)pCaptured, MSG_HITTEST,                                        (WPARAM)x, (LPARAM)y);                pUnderPointer = NULL;    }    else {        pUnderPointer = wndMouseInWhichControl (pWin, x, y, &UndHitCode);        if (pUnderPointer && (pUnderPointer->dwStyle & WS_DISABLED))            pUnderPointer = NULL;        if (pUnderPointer) {            cx = x - pUnderPointer->cl;            cy = y - pUnderPointer->ct;        }    }    switch (message) {        case MSG_MOUSEMOVE:            if (pCaptured)                PostMessage((HWND)pCaptured, MSG_NCMOUSEMOVE,                                 CapHitCode, MAKELONG (x, y));            else {                if (pWin->hOldUnderPointer != (HWND)pUnderPointer) {                    if (pWin->hOldUnderPointer) {                        PostMessage ((HWND)pWin->hOldUnderPointer,                            MSG_MOUSEMOVEIN, FALSE, (LPARAM)pUnderPointer);                        PostMessage ((HWND)pWin->hOldUnderPointer,                            MSG_NCMOUSEMOVE, HT_OUT, MAKELONG (x, y));                    }                    if (pUnderPointer)                        PostMessage ((HWND)pUnderPointer,                            MSG_MOUSEMOVEIN, TRUE, (LPARAM)pWin->hOldUnderPointer);                    pWin->hOldUnderPointer = (HWND)pUnderPointer;                }                if (pUnderPointer == NULL) {                    pWin->hOldUnderPointer = 0;                    break;                }                if (pUnderPointer->dwStyle & WS_DISABLED) {                    SetCursor (GetSystemCursor (IDC_ARROW));                    break;                }                if (UndHitCode == HT_CLIENT) {                    PostMessage ((HWND)pUnderPointer,                                    MSG_SETCURSOR, 0, MAKELONG (cx, cy));                    PostMessage((HWND)pUnderPointer, MSG_NCMOUSEMOVE,                             UndHitCode, MAKELONG (x, y));                    PostMessage((HWND)pUnderPointer, MSG_MOUSEMOVE,                             flags, MAKELONG (cx, cy));                }                else                {                    PostMessage((HWND)pUnderPointer, MSG_NCSETCURSOR,                             UndHitCode, MAKELONG (x, y));                    PostMessage((HWND)pUnderPointer, MSG_NCMOUSEMOVE,                             UndHitCode, MAKELONG (x, y));                }            }        break;        case MSG_LBUTTONDOWN:        case MSG_RBUTTONDOWN:            if (pUnderPointer) {                if (pUnderPointer->dwStyle & WS_DISABLED) {                    Ping ();                    break;                }                PostMessage ((HWND) pUnderPointer,                        MSG_MOUSEACTIVE, UndHitCode, 0);                                if (UndHitCode != HT_CLIENT) {                    if (UndHitCode & HT_NEEDCAPTURE)                    {                        SetCapture ((HWND)pUnderPointer);                        pCapturedWin = pWin;                        pCaptured = pUnderPointer;                    }                    else                        pCaptured = NULL;                    PostMessage ((HWND)pUnderPointer, message + MSG_NCMOUSEOFF,                            UndHitCode, MAKELONG (x, y));                }                else {                    PostMessage((HWND)pUnderPointer, message,                         flags, MAKELONG(cx, cy));                    pCaptured = NULL;                }            }            else {                if (pWin->hActiveChild) {                    PostMessage(pWin->hActiveChild, message + MSG_NCMOUSEOFF,                         HT_OUT, MAKELONG(x, y));                }            }        break;        case MSG_LBUTTONUP:        case MSG_RBUTTONUP:            if (pCaptured) {                PostMessage ((HWND)pCaptured, message + MSG_NCMOUSEOFF,                        CapHitCode, MAKELONG (x, y));                ReleaseCapture ();                pCapturedWin = NULL;                pCaptured = NULL;            }            else if (pUnderPointer) {                if (pUnderPointer->dwStyle & WS_DISABLED) {                    break;                }                if (UndHitCode == HT_CLIENT)                    PostMessage((HWND)pUnderPointer, message,                             flags, MAKELONG (cx, cy));                else                    PostMessage((HWND)pUnderPointer, message + MSG_NCMOUSEOFF,                             UndHitCode, MAKELONG (x, y));            }            else {                if (pWin->hActiveChild) {                    PostMessage(pWin->hActiveChild, message + MSG_NCMOUSEOFF,                         HT_OUT, MAKELONG(x, y));                }            }        break;                case MSG_LBUTTONDBLCLK:        case MSG_RBUTTONDBLCLK:            if (pUnderPointer) {                if (pUnderPointer->dwStyle & WS_DISABLED) {                    Ping ();                    break;                }                if (UndHitCode == HT_CLIENT)                    PostMessage((HWND)pUnderPointer, message,                         flags, MAKELONG(cx, cy));                else                    PostMessage((HWND)pUnderPointer, message + MSG_NCMOUSEOFF,                         UndHitCode, MAKELONG (x, y));            }            else {                if (pWin->hActiveChild) {                    PostMessage(pWin->hActiveChild, message + MSG_NCMOUSEOFF,                         HT_OUT, MAKELONG(x, y));                }            }        break;    }    return 0;}static inline int wndGetBorder (const MAINWIN* pWin){    if (pWin->dwStyle & WS_BORDER)         return GetMainWinMetrics(MWM_BORDER);    else if (pWin->dwStyle & WS_THICKFRAME)        return GetMainWinMetrics(MWM_THICKFRAME);    else if (pWin->dwStyle & WS_THINFRAME)        return GetMainWinMetrics (MWM_THINFRAME);    return 0;}static BOOL wndGetVScrollBarRect (const MAINWIN* pWin,                 RECT* rcVBar){    if (pWin->dwStyle & WS_VSCROLL) {        int iBorder = wndGetBorder (pWin);        rcVBar->left = pWin->right - GetMainWinMetrics (MWM_CXVSCROLL)                         - iBorder;        rcVBar->right = pWin->right - iBorder;#ifdef _FLAT_WINDOW_STYLE        rcVBar->top  = pWin->ct - 1;#else        rcVBar->top  = pWin->ct;#endif        rcVBar->bottom = pWin->bottom - iBorder;        if (pWin->dwStyle & WS_HSCROLL && !(pWin->hscroll.status & SBS_HIDE))            rcVBar->bottom -= GetMainWinMetrics (MWM_CYHSCROLL);        #ifdef _FLAT_WINDOW_STYLE        if (iBorder > 0)            OffsetRect (rcVBar, 1, 0);#endif        return TRUE;    }        return FALSE;}static BOOL wndGetHScrollBarRect (const MAINWIN* pWin,                 RECT* rcHBar){    if (pWin->dwStyle & WS_HSCROLL) {        int iBorder = wndGetBorder (pWin);        rcHBar->top = pWin->bottom - GetMainWinMetrics (MWM_CYHSCROLL)                        - iBorder;        rcHBar->bottom = pWin->bottom - iBorder;#ifdef _FLAT_WINDOW_STYLE        rcHBar->left  = pWin->cl - 1;#else        rcHBar->left  = pWin->cl;#endif        rcHBar->right = pWin->right - iBorder;        if (pWin->dwStyle & WS_VSCROLL && !(pWin->vscroll.status & SBS_HIDE))            rcHBar->right -= GetMainWinMetrics (MWM_CXVSCROLL);#ifdef _FLAT_WINDOW_STYLE        if (iBorder > 0)            OffsetRect (rcHBar, 0, 1);#endif        return TRUE;    }        return FALSE;    }static int wndGetHScrollBarPos (PMAINWIN pWin, int x, int y){    RECT rcBar;    RECT rcArea;    if (pWin->hscroll.status & SBS_DISABLED)        return SBPOS_UNKNOWN;    wndGetHScrollBarRect (pWin, &rcBar);    if (!PtInRect (&rcBar, x, y))        return SBPOS_UNKNOWN;    rcArea.top  = rcBar.top;    rcArea.bottom = rcBar.bottom;    // Left arrow area    rcArea.left = rcBar.left;    rcArea.right = rcArea.left + GetMainWinMetrics (MWM_CXHSCROLL);    if (PtInRect (&rcArea, x, y))        return SBPOS_LEFTARROW;    // Right arrow area    rcArea.left = rcBar.right - GetMainWinMetrics (MWM_CXHSCROLL);    rcArea.right = rcBar.right;    if (PtInRect (&rcArea, x, y))        return SBPOS_RIGHTARROW;    if (x < (rcBar.left + pWin->hscroll.barStart             + GetMainWinMetrics (MWM_CXHSCROLL)))        return SBPOS_LEFTSPACE;    if (x > (rcBar.left + pWin->hscroll.barStart + pWin->hscroll.barLen            + GetMainWinMetrics (MWM_CXHSCROLL)))

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲另类在线制服丝袜| 国产欧美一区二区精品性色| 国产精品69毛片高清亚洲| 一区二区欧美精品| 久久毛片高清国产| 欧美日韩五月天| 色综合久久天天| 成人开心网精品视频| 久久超碰97中文字幕| 亚洲第一成人在线| 最新高清无码专区| 欧美激情在线一区二区三区| 在线电影院国产精品| 色域天天综合网| 国产麻豆91精品| 久久精品国产一区二区| 亚洲国产一区二区三区青草影视| 欧美精彩视频一区二区三区| 日韩欧美激情四射| 欧美军同video69gay| 在线观看日韩毛片| 91女厕偷拍女厕偷拍高清| 国产成人在线视频免费播放| 狠狠色丁香婷婷综合| 天堂va蜜桃一区二区三区| 亚洲自拍都市欧美小说| 亚洲图片欧美激情| 国产精品久久久99| 国产精品女主播av| 国产情人综合久久777777| wwwwww.欧美系列| 日韩欧美一级特黄在线播放| 91麻豆精品国产91久久久| 欧美日韩亚洲另类| 欧美顶级少妇做爰| 在线观看91精品国产麻豆| 欧美男女性生活在线直播观看| 欧美专区日韩专区| 在线观看一区二区视频| 欧美三级韩国三级日本一级| 欧美变态tickle挠乳网站| 日韩欧美色综合| 精品裸体舞一区二区三区| 精品久久99ma| 国产欧美精品区一区二区三区| 久久五月婷婷丁香社区| 国产视频在线观看一区二区三区| 国产欧美va欧美不卡在线| 国产精品日日摸夜夜摸av| 中文字幕中文字幕在线一区 | 日韩午夜激情电影| 欧美一区二区黄色| 精品久久国产字幕高潮| 久久欧美一区二区| 国产精品天美传媒| 一级日本不卡的影视| 偷拍日韩校园综合在线| 美女视频一区二区三区| 国产精品 日产精品 欧美精品| 成人国产亚洲欧美成人综合网| 色偷偷久久人人79超碰人人澡| 欧美系列一区二区| 精品国产免费一区二区三区香蕉| 欧美激情一区二区三区四区| 亚洲人成人一区二区在线观看 | 91精品国产高清一区二区三区| 日韩午夜中文字幕| 国产欧美综合在线| 一区二区在线观看免费| 麻豆精品久久精品色综合| 国产99久久久国产精品免费看 | 蜜臀久久99精品久久久久久9| 国产精品一区一区三区| 91国产精品成人| 日韩欧美国产一二三区| 中文子幕无线码一区tr| 亚洲国产精品人人做人人爽| 美女任你摸久久| 97成人超碰视| 精品国产乱码久久久久久久久| 中文字幕一区二区三区在线观看 | 日韩成人一区二区三区在线观看| 国产乱子伦视频一区二区三区| 一本大道久久a久久综合婷婷| 日韩一区二区在线观看视频播放| 国产精品亲子伦对白| 日韩精品视频网| 99久久久免费精品国产一区二区| 91.xcao| 国产精品毛片无遮挡高清| 日韩国产欧美在线播放| 99视频精品全部免费在线| 日韩一区二区电影| 亚洲久草在线视频| 国产精品综合久久| 欧美精品丝袜中出| 成人欧美一区二区三区小说| 日本午夜一区二区| 在线观看一区二区视频| 日本一区二区久久| 蜜臀99久久精品久久久久久软件| 91免费看片在线观看| 久久日韩精品一区二区五区| 天堂一区二区在线免费观看| 色综合天天天天做夜夜夜夜做| 久久久久青草大香线综合精品| 午夜精品123| 色先锋资源久久综合| 日本一区二区综合亚洲| 久久国产精品99精品国产| 欧美午夜精品免费| 亚洲精品伦理在线| 不卡一区二区中文字幕| 久久久蜜桃精品| 精品一区二区成人精品| 欧美日韩的一区二区| 亚洲六月丁香色婷婷综合久久| 成人av电影观看| 国产亚洲1区2区3区| 国内精品免费**视频| 欧美成人精品福利| 麻豆91小视频| 日韩一区二区不卡| 免费久久99精品国产| 91精品国产全国免费观看| 亚洲18影院在线观看| 欧美日韩国产天堂| 亚洲大尺度视频在线观看| 欧美性色黄大片| 亚洲成av人片在www色猫咪| 在线观看日韩精品| 亚洲午夜羞羞片| 欧美性猛交xxxxxxxx| 亚洲成人动漫在线免费观看| 欧美日韩国产欧美日美国产精品| 亚洲国产欧美另类丝袜| 欧美日韩精品久久久| 午夜欧美视频在线观看| 91精品国产综合久久小美女| 美女在线视频一区| 精品sm捆绑视频| 国产成人免费在线| 日韩一区在线看| 欧美偷拍一区二区| 日本在线不卡视频一二三区| 日韩视频在线观看一区二区| 国产原创一区二区| 欧美国产视频在线| 91色婷婷久久久久合中文| 一区二区三区国产| 欧美一区二区三级| 韩国欧美国产1区| 国产精品毛片高清在线完整版| www.66久久| 亚洲成人黄色影院| 日韩午夜在线播放| 国产91精品欧美| 国产精品高潮久久久久无| 欧美探花视频资源| 六月丁香婷婷色狠狠久久| 久久精品视频在线看| 99re成人精品视频| 午夜精品一区二区三区免费视频| 精品国产乱码久久久久久牛牛| 成人黄动漫网站免费app| 一区二区不卡在线播放 | 欧美色综合天天久久综合精品| 日本免费新一区视频 | 日本不卡一区二区三区 | 日本不卡在线视频| 国产日产欧美精品一区二区三区| 色综合天天视频在线观看| 日韩电影免费在线| 国产精品久久久久一区二区三区| 91官网在线免费观看| 国内精品国产三级国产a久久 | 国产精品自拍三区| 亚洲激情图片qvod| 日韩精品一区二| 一本一道久久a久久精品| 男女男精品网站| 亚洲欧洲性图库| 日韩一区二区三区电影| 99久久精品一区二区| 日本aⅴ亚洲精品中文乱码| 国产精品少妇自拍| 91精品麻豆日日躁夜夜躁| 成人av在线播放网站| 美女网站视频久久| 亚洲综合在线五月| 国产欧美日韩精品a在线观看| 精品视频在线免费| 成人ar影院免费观看视频| 日韩黄色小视频| 亚洲精品乱码久久久久久| 久久婷婷久久一区二区三区| 欧美精品1区2区| 91丨九色porny丨蝌蚪| 国产在线一区二区| 日本免费新一区视频|