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

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

?? accelkey.c

?? 新片介紹
?? C
字號:
/*** $Id: accelkey.c,v 1.11 2003/09/04 03:15:07 weiym Exp $**** accelkey.c: The Accelerator module.**** Copyright (C) 2003 Feynman Software.** Copyright (C) 1999 ~ 2002 Kang Xiaoning and 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 <stdio.h>#include <stdlib.h>#include "common.h"#include "minigui.h"#include "gdi.h"#include "window.h"#include "cliprect.h"#include "gal.h"#include "internals.h"#include "blockheap.h"#include "accelkey.h"static BLOCKHEAP ACHeap;// acceltable construction inline static void InitFreeACList (void){    InitBlockDataHeap (&ACHeap, sizeof (ACCELTABLE), SIZE_AC_HEAP);}inline static PACCELTABLE AccelTableAlloc (void){    return (PACCELTABLE) BlockDataAlloc (&ACHeap);}inline static void FreeAccelTable (PACCELTABLE pac){    BlockDataFree (&ACHeap, pac);}inline static void DestroyFreeACList (void){    DestroyBlockDataHeap (&ACHeap);}// accelkey item routeline static BLOCKHEAP AIHeap;inline static void InitFreeAIList (void){    InitBlockDataHeap (&AIHeap, sizeof (ACCELITEM), SIZE_AI_HEAP);}inline static PACCELITEM AccelItemAlloc (void){    return (PACCELITEM) BlockDataAlloc (&AIHeap);}inline static void FreeAccelItem (ACCELITEM* pai){    BlockDataFree (&AIHeap, pai);}inline static void DestroyFreeAIList (void){    DestroyBlockDataHeap (&AIHeap);}BOOL InitAccel (void){    InitFreeACList ();    InitFreeAIList ();    return TRUE;}void TerminateAccel (void){    DestroyFreeACList ();    DestroyFreeAIList ();}/*********  Interfaces  ************************************/HACCEL GUIAPI LoadAccelerators (const char* filename, int id){    return 0;}HACCEL GUIAPI CreateAcceleratorTable (HWND hWnd){    PACCELTABLE pac;    if (!(pac = AccelTableAlloc ()))        return 0;        pac->category = TYPE_HACCEL;    pac->hwnd = hWnd;    pac->head = NULL;    return (HACCEL)pac;}int GUIAPI IsAccel (HACCEL hac){    PACCELTABLE pAcc = (PACCELTABLE)hac;    if (pAcc->category != TYPE_HACCEL) return 0;    return TRUE;}int GUIAPI DestroyAcceleratorTable (HACCEL hacc){    PACCELTABLE pac;    PACCELITEM pai, ptmpai;    pac = (PACCELTABLE) hacc;    if (pac->category != TYPE_HACCEL)        return ERR_INVALID_HANDLE;        pai = pac->head;    while (pai) {        ptmpai = pai->next;        FreeAccelItem (pai);        pai = ptmpai;    }    FreeAccelTable (pac);    return 0;}static PACCELITEM *accFindMatchAccelKeys (HACCEL hacc, int key, DWORD keymask){    PACCELITEM  pai;    PACCELTABLE pacc = (PACCELTABLE) hacc;    pai = pacc -> head;    if (pai) {        if (pai -> key == key && pai -> keymask == keymask)             return &(pacc->head);        else {            while (pai -> next) {                if (pai -> next ->key == key && pai -> next -> keymask == keymask)                    return &(pai->next) ;                pai = pai ->next;            }        }    }    return NULL;} int GUIAPI AddAccelerators (HACCEL hacc, int key, DWORD keymask, WPARAM wParam , LPARAM lParam){    PACCELTABLE pac;    PACCELITEM pnewai;    pac = (PACCELTABLE) hacc;    if (pac->category != TYPE_HACCEL)        return ERR_INVALID_HANDLE;     if (accFindMatchAccelKeys (hacc, key, keymask))       return  ERR_ALREADY_EXIST;    if (!(pnewai = AccelItemAlloc ()))         return ERR_RES_ALLOCATION;    pnewai->key     = key;    pnewai->keymask = keymask;    pnewai->wParam  = wParam;      pnewai->lParam  = lParam;    pnewai->next    = pac->head ;    pac->head       = pnewai ;    return 0;}int GUIAPI DeleteAccelerators (HACCEL hacc,int key, DWORD keymask){    PACCELTABLE pac;    PACCELITEM *ptempac;    PACCELITEM ptempac1;    pac = (PACCELTABLE) hacc;    if (pac -> category != TYPE_HACCEL)        return ERR_INVALID_HANDLE;    if (!(ptempac=accFindMatchAccelKeys(hacc,key, keymask)))        return ERR_NO_MATCH;    ptempac1= ((*ptempac)->next);    FreeAccelItem (*ptempac);    (*ptempac) = ptempac1;     return 0;  }HACCEL GUIAPI CopyAcceleratorTable (HACCEL hacc){    HACCEL hac;    PACCELTABLE pac = (PACCELTABLE)hacc;    PACCELITEM pai;    if ((hac = (HACCEL) CreateAcceleratorTable (pac->hwnd))) {        pai = pac -> head;        while (pai) {            if (AddAccelerators (hac, pai->key, pai->keymask, pai->wParam, pai->lParam)) {                DestroyAcceleratorTable(hac);                return (HACCEL) NULL;            }            pai = pai -> next;                             }        return hac;    }    else        return (HACCEL) NULL; }int GUIAPI TranslateAccelerator (HWND hWnd, HACCEL hAccel, PMSG pMsg){    PACCELTABLE pac;    PACCELITEM  *pai;    int key;    pac = (PACCELTABLE) hAccel;    if (pac->hwnd != hWnd)        return ERR_BAD_OWNER;    if (pMsg->message == MSG_KEYDOWN || pMsg->message == MSG_SYSKEYDOWN)        key = pMsg->wParam | 256;    else if (pMsg->message == MSG_CHAR || pMsg->message == MSG_SYSCHAR)        key = pMsg->wParam & 255;    else         return ERR_NO_MATCH;    if ((pai = accFindMatchAccelKeys (hAccel, key, pMsg->lParam))) {        if (pMsg->message == MSG_SYSKEYDOWN || pMsg->message == MSG_SYSCHAR)            return SendNotifyMessage (hWnd,                             MSG_SYSCOMMAND, (*pai)->wParam, (*pai)->lParam);        else             return SendNotifyMessage (hWnd,                            MSG_COMMAND, (*pai)->wParam , (*pai)->lParam);    }    else         return ERR_NO_MATCH;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美视频一区二区三区| 偷拍一区二区三区| 国产精品白丝av| 久久日韩粉嫩一区二区三区| 强制捆绑调教一区二区| 欧美丰满高潮xxxx喷水动漫| 日日夜夜免费精品| 日韩视频国产视频| 激情综合网激情| 国产亚洲精品bt天堂精选| 国产呦萝稀缺另类资源| 久久一日本道色综合| 国产成a人无v码亚洲福利| 国产精品视频一二三区| 91行情网站电视在线观看高清版| 国产精品久久久久久久岛一牛影视 | 亚洲成人免费av| 日韩一卡二卡三卡国产欧美| 高清国产一区二区| 亚洲激情五月婷婷| 日韩一区二区在线看| www.欧美色图| 久久99在线观看| 亚洲一本大道在线| 久久综合久久综合久久| 色婷婷av一区二区三区软件| 激情都市一区二区| 三级欧美在线一区| 中文字幕第一页久久| 欧美人牲a欧美精品| 北条麻妃一区二区三区| 美日韩一级片在线观看| 一区二区三区不卡视频在线观看| 久久欧美一区二区| 91麻豆精品国产91久久久久久| 成人不卡免费av| 国产伦精品一区二区三区免费 | 久久久亚洲欧洲日产国码αv| 在线观看国产精品网站| aaa欧美大片| 粉嫩一区二区三区在线看| 紧缚奴在线一区二区三区| 午夜精品福利久久久| 五月婷婷综合激情| 亚洲午夜在线视频| 亚洲另类在线一区| 国产精品久久久爽爽爽麻豆色哟哟 | 欧美老肥妇做.爰bbww| 在线观看一区二区精品视频| jlzzjlzz亚洲女人18| 成人高清视频在线| 一本色道久久综合亚洲精品按摩| 大白屁股一区二区视频| 91丨九色porny丨蝌蚪| 91色视频在线| 91超碰这里只有精品国产| 欧美日韩一区国产| 日韩免费观看高清完整版在线观看| 久久亚洲一区二区三区四区| 国产午夜精品福利| 亚洲男帅同性gay1069| 亚洲6080在线| 国产裸体歌舞团一区二区| 成人国产一区二区三区精品| 欧美三级一区二区| 久久久久97国产精华液好用吗| 国产精品国产馆在线真实露脸| 香蕉加勒比综合久久| 国产成人高清视频| 欧美三级电影在线看| 日本一区二区免费在线| 亚洲影院理伦片| 高清国产一区二区| 日韩视频一区二区三区在线播放| 中文字幕av不卡| 七七婷婷婷婷精品国产| 不卡的电影网站| 欧美变态tickling挠脚心| 亚洲免费大片在线观看| 国产一区二区三区视频在线播放| 在线免费观看日本欧美| 亚洲丝袜美腿综合| 国产成人8x视频一区二区| 91精品国产品国语在线不卡| 中文字幕在线观看一区| 极品美女销魂一区二区三区| 在线成人午夜影院| 一区二区三区自拍| 91视视频在线观看入口直接观看www | 国产精品99久久久久久宅男| 欧美久久久久久蜜桃| 亚洲国产成人porn| 欧美三级日韩在线| 亚洲一卡二卡三卡四卡五卡| 色综合久久久久综合体| 亚洲色图在线看| 一本在线高清不卡dvd| 国产精品卡一卡二| 色综合久久综合网| 亚洲一区二区四区蜜桃| 欧美日本国产视频| 三级在线观看一区二区| 日韩欧美国产三级电影视频| 九一九一国产精品| 久久久精品日韩欧美| 不卡免费追剧大全电视剧网站| 日韩一区在线播放| 欧美日韩视频在线一区二区| 青青草国产精品97视觉盛宴| 26uuu亚洲综合色| 成人av网站在线观看免费| 亚洲精品欧美激情| 欧美男生操女生| 国产精品99久久久| 一区二区三区四区乱视频| 欧美日本乱大交xxxxx| 精品写真视频在线观看| 国产精品国产三级国产专播品爱网 | 免费高清成人在线| 国产精品成人免费精品自在线观看| 在线观看欧美精品| 国产一区福利在线| 亚洲综合久久av| 久久男人中文字幕资源站| 欧美在线小视频| av色综合久久天堂av综合| 全部av―极品视觉盛宴亚洲| 国产精品久99| 精品久久久久99| 欧美电影一区二区| 欧美中文字幕亚洲一区二区va在线 | 国产一区二区精品在线观看| 国产日本一区二区| 日韩一区二区电影| 蜜桃一区二区三区四区| 欧美精品久久一区| 国产精品中文字幕欧美| 亚洲人快播电影网| 午夜精品成人在线| 国产精品综合二区| 在线观看欧美日本| 精品国产制服丝袜高跟| 亚洲国产精品精华液2区45| 一区二区三区日韩欧美| 久久97超碰国产精品超碰| 成人免费不卡视频| 欧美一区二区三区喷汁尤物| 欧美激情一区二区三区不卡| 亚洲亚洲人成综合网络| 日本aⅴ亚洲精品中文乱码| 亚洲va中文字幕| 青青草精品视频| 国产剧情一区二区三区| 波多野结衣91| 欧美老肥妇做.爰bbww| 日韩免费观看高清完整版| 久久婷婷国产综合精品青草| 国产日本欧美一区二区| 亚洲女人的天堂| 蜜臀久久久久久久| 99热在这里有精品免费| 欧美性大战久久久| 精品国产99国产精品| 国产精品久久久久久久久免费桃花 | 久久蜜臀精品av| 亚洲自拍偷拍麻豆| 国产一区二区h| 欧美日本免费一区二区三区| 久久精品人人做人人爽97| 亚洲成人一二三| 国产成人在线影院| 欧美一级视频精品观看| 一区二区在线免费| 国产福利电影一区二区三区| 91精品欧美福利在线观看| 亚洲欧美日韩国产一区二区三区| 老鸭窝一区二区久久精品| 在线欧美日韩精品| 亚洲色图欧洲色图| 波多野结衣91| 国产精品天干天干在观线| 九九精品视频在线看| 日韩欧美国产一区二区在线播放 | 亚洲一卡二卡三卡四卡无卡久久| 成人午夜私人影院| 中文字幕第一区二区| 精品在线免费视频| 日本一区二区免费在线观看视频 | 国产精品盗摄一区二区三区| www.成人在线| 亚洲精品免费电影| 欧美性感一区二区三区| 久久99精品久久久久久国产越南 | 欧美videos中文字幕| 久久精品国产999大香线蕉| xf在线a精品一区二区视频网站| 久久精品国产秦先生| 久久久久国产精品免费免费搜索| 国产福利一区在线| 亚洲国产精品天堂|