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

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

?? button.c

?? 漢字系統的c源代碼
?? C
字號:
    /*-----------------------------------------------------------
        程序模塊 button_menu.c : 多功能按鈕式菜單
    -----------------------------------------------------------*/
    #include <hanenv.h>
    #include <fcntl.h>
    #include <alloc.h>

    /*---- 內部函數 _DrawButtonMenu : 在指定坐標處顯示菜單 ----*/
    static void _Cdecl _DrawButtonMenu(b)
    BUTTON_MENU *b;                   /* 菜單參數              */
    {
        int i;

        /*-- 顯示菜單 -----------------------------------------*/
        delight_mouse();
        if(b->saveimage)
            b->block = getblock(b->col,b->line,b->width,b->high);
        if(b->disp_fun)
            (*(b->disp_fun))(b);
        for(i=0;i<b->button_count;i++)
            _DrawButton(b->buttons[i],b->col,b->line,NO,0);
        if(b->arrow_ctrl)
            _DrawButton(b->buttons[b->current],b->col,b->line,YES,0);
        light_mouse();
    }
    /*-----------------------------------------------------------
        函數 button_menu : 多功能按鍵式菜單
    -----------------------------------------------------------*/
    unsigned _Cdecl button_menu(b,key)
    BUTTON_MENU *b;                /* 指向菜單參數表的指針     */
    unsigned key;                  /* 進入菜單處理過程時的鍵碼 */
    {
        int i;
        char **block;              /* 菜單背景存放地址         */
        /*
        long memo_size = b->width*b->high*4+16;
        */

        /*-- 如果菜單已經彈出,處理鍵盤碼 ----------------------*/
        if(b->pop_up)
        {
            /*-- 如果是鼠標左鍵且鼠標光標在菜單內 -------------*/
            if(key==LEFT_BUTTON && mouse_enter(b->col*8,b->line,(b->col+b->width)*8,b->line+b->high))
            {

                /*-- 檢查鼠標光標是否指向菜單中的某個按鍵 -----*/
                for(i=0;i<b->button_count;i++)
                    if(mouse_enter(b->col*8+b->buttons[i].x,
                                   b-> line+b->buttons[i].y,
                                   b->col*8+b->buttons[i].x+b->buttons[i].w,
                                   b-> line+b->buttons[i].y+b->buttons[i].h)
                    && !(b->buttons[i].lock))
                    {
                        /*-- 如果菜單可用鍵盤控制,修改當前按鍵 */
                        if(b->arrow_ctrl)
                        {
                            delight_mouse();
                            _DrawButton(b->buttons[b->current],b->col,b->line,NO,0);
                            light_mouse();
                        }
                        b->current = i;
                        delight_mouse();
                        _DrawButton(b->buttons[i],b->col,b->line,YES,1);
                        light_mouse();
                        till_mouse_pop(LEFT_BUTTON);

                        /*-- 如果選擇退出項,取消菜單顯示,退出 -*/
                        if(b->buttons[i].key==b->quit_key1 || b->buttons[i].key==b->quit_key2)
                        {
                            b->pop_up = NO;
                            delight_mouse();
                            if(b->saveimage && b->block)
                                putblock(b->col,b->line,b->width,b->high,b->block);
                            light_mouse();
                            return b->quit_key1;
                        }

                        /*-- 如果選中項有可執行函數,執行之 ----*/
                        if(b->buttons[i].fun)
                            key = (*(b->buttons[i].fun))();

                        /*-- 否則取出該選擇項對應的鍵盤碼 -----*/
                        else
                            key = b->buttons[i].key;

                        /*-- 彈起該按鍵 -----------------------*/
                        delight_mouse();
                        _DrawButton(b->buttons[i],b->col,b->line,b->arrow_ctrl,0);
                        light_mouse();

                        /*-- 退出菜單處理 ---------------------*/
                        return key;
                    }

                /*-- 如果菜單可移動,且鼠標未指向任何按鍵 ------*/
                if(!b->fixed && coreleft()>(long)(b->width)*b->high*4+16)
                {
                    int x;         /* 菜單的列坐標(單位為象素) */
                    int y;         /* 菜單的行坐標(單位為象素) */
                    int dx;        /* 移動菜單的列增量         */
                    int dy;        /* 移動菜單的行增量         */
                    int oldml,oldmt,oldmr,oldmb; /* 原鼠標范圍 */
                    unsigned mouse_button;

                    /*-- 計算菜單的位置 -----------------------*/
                    x = b->col*8;
                    y = b->line;

                    /*-- 保存菜單的屏幕圖象 -------------------*/
                    delight_mouse();
                    block = getblock(b->col,b->line,b->width,b->high);
                    light_mouse();

                    /*-- 設置菜單的移動范圍 -------------------*/
                    get_mouse_range(&oldml,&oldmt,&oldmr,&oldmb);
                    set_mouse_range(b->left,b->top,b->right-b->width*8+1,b->bottom-b->high+1);

                    /*-- 用鼠標控制一個虛線框選定菜單的新位置 -*/
                    do
                    {

                        /*-- 讀取鼠標光標的位置 ---------------*/
                        mouse_button = get_mouse_status(&dx,&dy);

                        /*-- 計算矩形虛線框的移動位置 ---------*/
                        dy -= y;
                        dx -= x;

                        /*-- 如果需要移動虛線框 ---------------*/
                        if(dx || dy)
                        {
                            delight_mouse();

                            /*-- 消除舊框 ---------------------*/
                            _SetWriteMode(XOR_MODE);
                            draw_rectangle(x,y,b->width*8,b->high,LIGHTGRAY,0xf0);

                            /*-- 計算新框位置 -----------------*/
                            x += dx;
                            y += dy;

                            /*-- 重畫新框 ---------------------*/
                            draw_rectangle(x,y,b->width*8,b->high,LIGHTGRAY,0xf0);
                            _SetWriteMode(PUT_MODE);
                            light_mouse();
                        }
                    }while(mouse_button == LEFT_BUTTON);

                    /*-- 恢復原來的鼠標移動范圍 ---------------*/
                    set_mouse_range(oldml,oldmt,oldmr,oldmb);

                    /*-- 取消最后一次所畫的框 -----------------*/
                    delight_mouse();
                    _SetWriteMode(XOR_MODE);
                    draw_rectangle(x,y,b->width*8,b->high,LIGHTGRAY,0xf0);
                    _SetWriteMode(PUT_MODE);

                    /*-- 恢復菜單下的背景(抹去原來的菜單) -----*/
                    putblock(b->col,b->line,b->width,b->high,b->block);

                    /*-- 修改菜單參數表中的菜單位置 -----------*/
                    b->col   = x/8;
                    b->line  = y;

                    /*-- 保存新菜單位置上的屏幕背景 -----------*/
                    b->block = getblock(b->col,b->line,b->width,b->high);

                    /*-- 在新位置上恢復菜單的圖象 -------------*/
                    putblock(b->col,b->line,b->width,b->high,block);
                    light_mouse();
                }
                /*-- 菜單移動處理結束 -------------------------*/
            }

            /*-- 如果輸入鍵盤碼為菜單退出鍵,取消菜單顯示,退出 -*/
            else if(key==b->quit_key1 || key==b->quit_key2 || key==KEY_ESC)
            {
                b->pop_up = NO;
                delight_mouse();
                if(b->saveimage && b->block)
                    putblock(b->col,b->line,b->width,b->high,b->block);
                light_mouse();
                return key;
            }

            /*-- 如果菜單可用鍵盤控制,處理鍵盤鍵 --------------*/
            else if(b->arrow_ctrl)
            {
                /*-- 如果輸入鍵盤碼是選擇鍵,執行當前選項 ------*/
                if(key==b->press_key1 || key==b->press_key2)
                {
                    /*-- 繪出按下狀態的按鍵 -------------------*/
                    delight_mouse();
                    _DrawButton(b->buttons[b->current],b->col,b->line,YES,1);
                    light_mouse();

                    /*-- 如果選中項有可執行函數,執行之 --------*/
                    if(b->buttons[b->current].fun)
                        key = (*(b->buttons[b->current].fun))();

                    /*-- 否則取出該選擇項對應的鍵盤碼 ---------*/
                    else
                    {
                        key = b->buttons[b->current].key;
                        delay(_MouseSpeed);
                    }

                    /*-- 繪出彈起狀態的按鍵 -------------------*/
                    delight_mouse();
                    _DrawButton(b->buttons[b->current],b->col,b->line,YES,0);
                    light_mouse();

                    /*-- 退出菜單處理 -------------------------*/
                    return key;
                }

                /*-- 如果是移動選擇項鍵,移動當前選擇項 --------*/
                else if(key==b->forward1 || key==b->forward2 || key==b->backward1 || key==b->backward2)
                {
                    /*-- 用正常色繪制當前鍵 -------------------*/
                    delight_mouse();
                    _DrawButton(b->buttons[b->current],b->col,b->line,NO,0);
                    light_mouse();

                    /*-- 處理向前移動鍵 -----------------------*/
                    if(key==b->forward1 || key==b->forward2)
                    {
                        b->current = (b->current==b->button_count-1?0:b->current+1);
                        if(b->buttons[b->current].lock)
                            ungeth(b->forward1);
                    }

                    /*-- 處理向后移動鍵 -----------------------*/
                    else if(key==b->backward1 || key==b->backward2)
                    {
                        b->current=(b->current==0?b->button_count-1:b->current-1);
                        if(b->buttons[b->current].lock)
                            ungeth(b->backward1);
                    }

                    /*-- 以選中鍵色繪制當前鍵 -----------------*/
                    delight_mouse();
                    _DrawButton(b->buttons[b->current],b->col,b->line,YES,0);
                    light_mouse();

                    /*-- 退出菜單處理 -------------------------*/
                    return key;
                }

                /*-- 檢查輸入鍵盤碼是否和某選擇項對應碼相同 ---*/
                for(i=0;i<b->button_count;i++)
                    if(key==b->buttons[i].pressed)
                    {
                        delight_mouse();

                        /*-- 將與輸入碼對應的鍵變為當前鍵 -----*/
                        _DrawButton(b->buttons[b->current],b->col,b->line,NO,0);
                        _DrawButton(b->buttons[i],b->col,b->line,YES,1);
                        light_mouse();
                        delay(_MouseSpeed);
                        delight_mouse();
                        _DrawButton(b->buttons[i],b->col,b->line,b->arrow_ctrl,0);
                        light_mouse();
                        b->current = i;

                        /*-- 退出菜單處理 ---------------------*/
                        return b->buttons[i].key;
                    }
            }
            /*-- 使用鍵盤控制菜單的處理結束 -------------------*/
        }

        /*-- 如果菜單尚未彈出,設置標記,在屏幕上畫菜單 ---------*/
        else
        {
            b->pop_up = YES;
            _DrawButtonMenu(b);
        }

        /*-- 返回鍵盤碼 ---------------------------------------*/
        return key;
    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲高清免费观看高清完整版在线观看| 成人午夜免费av| 国产a级毛片一区| 欧美性猛片aaaaaaa做受| 欧美精品一区男女天堂| 亚洲成年人影院| 不卡一区中文字幕| 日韩欧美一级在线播放| 一区二区三区 在线观看视频| 国产成人综合视频| 欧美一区二区精品久久911| 亚洲日本一区二区三区| 国产精品亚洲专一区二区三区 | 国产精品中文字幕一区二区三区| 北条麻妃国产九九精品视频| 欧美成人国产一区二区| 午夜久久久久久久久 | 精品无码三级在线观看视频| 在线看国产一区二区| 中文天堂在线一区| 国产在线一区二区综合免费视频| 精品视频一区 二区 三区| 亚洲视频综合在线| 成人午夜免费av| 国产欧美日韩另类视频免费观看| 韩国在线一区二区| 精品国产制服丝袜高跟| 黄色精品一二区| 日韩欧美区一区二| 麻豆91精品视频| 欧美mv和日韩mv的网站| 男人的天堂亚洲一区| 91精品国产综合久久国产大片| 夜夜嗨av一区二区三区| 日本高清不卡视频| 亚洲成人av电影| 欧美中文字幕一区二区三区| 中文av字幕一区| caoporn国产精品| 中文字幕av一区二区三区| 麻豆一区二区在线| 一本大道综合伊人精品热热| 欧美激情一二三区| 亚洲成av人片在线观看| 欧美日韩免费观看一区三区| 亚洲在线成人精品| 欧美在线免费观看亚洲| 一区二区三区欧美日| 国产在线国偷精品免费看| 久久综合999| 国产一区二区三区香蕉| 精品国产三级电影在线观看| 麻豆视频一区二区| 日韩久久久久久| 久久精品国产99国产| 日韩欧美激情在线| 九九在线精品视频| 久久精品无码一区二区三区| 国产精品一级在线| 国产精品久久久久桃色tv| 成人午夜碰碰视频| 国产精品久久精品日日| 99久久er热在这里只有精品66| 日本一区二区电影| 91网站在线播放| 洋洋成人永久网站入口| 欧美猛男男办公室激情| 久久激情五月婷婷| 日本一二三不卡| 色狠狠av一区二区三区| 亚洲国产精品久久久久婷婷884 | 久久电影网站中文字幕| 亚洲精品一区二区三区蜜桃下载| 国产一区二区精品在线观看| 中文字幕在线不卡| 精品视频在线视频| 麻豆精品在线视频| 国产女同互慰高潮91漫画| 成人视屏免费看| 亚洲高清不卡在线观看| 26uuu另类欧美亚洲曰本| av福利精品导航| 天天色综合成人网| 国产亚洲一区二区三区四区| 色婷婷综合五月| 狠狠色丁香婷婷综合| 国产精品久久久久久妇女6080 | 一级特黄大欧美久久久| 欧美日韩夫妻久久| 国产精品自在欧美一区| 亚洲午夜在线电影| 国产色综合久久| 欧美图区在线视频| 国产永久精品大片wwwapp| 中文字幕一区免费在线观看 | 从欧美一区二区三区| 亚洲小说春色综合另类电影| 久久只精品国产| 欧美无砖专区一中文字| 国产不卡一区视频| 免费的成人av| 亚洲欧美日韩在线播放| 亚洲精品一区二区三区精华液| 一本到高清视频免费精品| 久久se这里有精品| 一区二区三区欧美亚洲| 一区二区三区国产精品| 久久精品一二三| 日韩精品一区在线| 欧美日韩免费观看一区三区| 99视频精品全部免费在线| 蜜臀91精品一区二区三区| 亚洲一区二区三区影院| 综合在线观看色| 国产精品免费aⅴ片在线观看| 精品国产乱码久久久久久影片| 日韩一区二区三区电影在线观看 | 欧美伊人久久大香线蕉综合69 | 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 久久久亚洲高清| 777午夜精品视频在线播放| 一本大道久久a久久精二百| 成人av在线资源| 蜜臀久久99精品久久久久宅男| 日本va欧美va精品| 亚洲成人激情社区| 亚洲自拍偷拍九九九| 一区二区三区小说| 亚洲视频一区在线| 成人免费小视频| 国产精品激情偷乱一区二区∴| 久久久久久久久久久久电影 | 亚洲同性同志一二三专区| 亚洲视频狠狠干| 国产精品乱人伦| 综合久久给合久久狠狠狠97色| 国产精品久久久久久久久搜平片 | 日韩欧美在线网站| 精品国产伦理网| 久久毛片高清国产| 国产午夜精品理论片a级大结局 | 久久婷婷一区二区三区| 精品国产成人系列| 久久久.com| 日韩一区日韩二区| 亚洲码国产岛国毛片在线| 亚洲美女屁股眼交| 天天影视网天天综合色在线播放| 爽爽淫人综合网网站| 久久国产精品色婷婷| 国产高清无密码一区二区三区| 国产成人免费视频网站| 色综合一区二区三区| 在线观看亚洲成人| 欧美一区二区网站| 亚洲制服丝袜av| 日本vs亚洲vs韩国一区三区二区 | 欧美一激情一区二区三区| 久久先锋资源网| 亚洲在线观看免费视频| 国产主播一区二区| 91麻豆国产福利在线观看| 色狠狠桃花综合| 亚洲精品一区二区三区福利| 综合久久国产九一剧情麻豆| 日本美女一区二区| 成人精品一区二区三区四区| 欧美日韩一区二区三区免费看| 精品免费国产二区三区| 亚洲另类色综合网站| 亚洲精品免费在线播放| 亚洲综合色视频| 韩国精品在线观看| 色久综合一二码| 久久婷婷国产综合精品青草| 一区二区三区**美女毛片| 国产精品一区免费在线观看| 欧美性受xxxx| 国产精品美女久久久久久久网站| 三级欧美在线一区| hitomi一区二区三区精品| 555www色欧美视频| 亚洲婷婷国产精品电影人久久| 美女诱惑一区二区| 欧美午夜不卡在线观看免费| 中文字幕欧美日韩一区| 蜜桃av一区二区三区| 欧美日韩综合不卡| 中文字幕视频一区二区三区久| 免费人成网站在线观看欧美高清| 91在线免费播放| 日韩一二三四区| 洋洋av久久久久久久一区| 成人精品在线视频观看| 91精品国产综合久久久蜜臀粉嫩| 中文字幕中文乱码欧美一区二区| 美女任你摸久久| 欧美日韩国产免费| 一区二区三区成人在线视频| va亚洲va日韩不卡在线观看|