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

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

?? dialog.c

?? DOS環境下圖形用戶界面支持系統
?? C
?? 第 1 頁 / 共 5 頁
字號:
                     0, 0, 0, 0, 1, BUTTON, NULL, NULL},
                    {BS_PUSHBUTTON | WS_TABSTOP,
                     0, 0, 0, 0, 1, BUTTON, NULL, NULL}
                 };

    Width  = 80;
    Height = 140;
    
    MsgBoxData.lStyle = lStyle;
    MsgBoxData.lpMsg = lpszText;
    if(lpszCaption)
        MsgBoxData.lpCaption = lpszCaption;
    else
        MsgBoxData.lpCaption = pGUIInfo->spCaption;
    MsgBoxData.pCtrlData = &CtrlData[0];
    
    switch(MsgBoxData.lStyle&0x000f)
    {
        case MB_OK:
            MsgBoxData.NumOfCtrl = 1;
            CtrlRet[0] = IDOK;
            CtrlData[0].spItemText = "確定";
        break;
        
        case MB_OKCANCEL:
            Width += 100;
            MsgBoxData.NumOfCtrl = 2;
            CtrlRet[0] = IDOK;
            CtrlRet[1] = IDCANCEL;
            CtrlData[0].spItemText = "確定";
            CtrlData[1].spItemText = "取消";
            iRetCtrl = 1;
        break;                   
        
        case MB_YESNO:
            Width += 100;
            MsgBoxData.NumOfCtrl = 2;
            CtrlRet[0] = IDYES;
            CtrlRet[1] = IDNO;
            CtrlData[0].spItemText = "是(Y)";
            CtrlData[1].spItemText = "否(N)";
            iRetCtrl = 1;
        break;
        
        case MB_RETRYCANCEL:
            Width += 100;
            MsgBoxData.NumOfCtrl = 2;
            CtrlRet[0] = IDRETRY;
            CtrlRet[1] = IDCANCEL;
            CtrlData[0].spItemText = "重試(R)";
            CtrlData[1].spItemText = "取消";
        break;
        
        case MB_ABORTRETRYIGNORE:
            Width += 200;
            MsgBoxData.NumOfCtrl = 3;
            CtrlRet[0] = IDABORT;
            CtrlRet[1] = IDRETRY;
            CtrlRet[2] = IDIGNORE;
            CtrlData[0].spItemText = "中止(A)";
            CtrlData[1].spItemText = "重試(R)";
            CtrlData[2].spItemText = "忽略(I)";
        break;
        
        case MB_YESNOCANCEL:
            Width += 200;
            MsgBoxData.NumOfCtrl = 3;
            CtrlRet[0] = IDYES;
            CtrlRet[1] = IDNO;
            CtrlRet[2] = IDCANCEL;
            CtrlData[0].spItemText = "是(Y)";
            CtrlData[1].spItemText = "否(N)";
            CtrlData[2].spItemText = "取消";
        break;
    }
    
    i = 0;
    iNumOfRow = 1;
    iMaxCol = 0;
    iCol = 0;
    while(*(MsgBoxData.lpMsg + i) != '\0')
    {
        if(*(MsgBoxData.lpMsg + i) == '\n')
        {
            iNumOfRow ++;
            if(iCol > iMaxCol)
            {
                iMaxCol = iCol;
                iCol = 1;
            }
        }
        
        if(*(MsgBoxData.lpMsg + i) == '\t')
            iCol += 4;
        iCol++;
        
        i++;
    }
    
    if(iCol > iMaxCol)
        iMaxCol = iCol;
        
    if((iMaxCol*8) > (Width - 20))
        Width = iMaxCol*8 + 20;
    
    if((size_t)Width < (_fstrlen(lpszCaption)*8 + 50))
        Width = _fstrlen(lpszCaption)*8 + 50;
        
    Height += iNumOfRow*16;
    
    if((MsgBoxData.lStyle)&0x00f0)
        Width += 100;
    else
        Width += 70;
        
    MsgBoxData.lx = (vc.numxpixels - Width)/2;
    MsgBoxData.ty = (vc.numypixels - Height)/2;
    MsgBoxData.rx = MsgBoxData.lx + Width;
    MsgBoxData.by = MsgBoxData.ty + Height;
    
    SetPtrVis(HIDE);
    SetFocus(NULL);
    if(pGUIInfo)
    {
        do
        {
            if(GetMessageFromQueue(pGUIInfo, &Msg))
            {
                TranslateAccelerator(pGUIInfo, &Msg);
                DisptchMessage(pGUIInfo, &Msg);
            }
            else
                break;
        }while(TRUE);
        
        Msg.uMsg = MSG_KILLFOCUS;
        Msg.wParam = 0;
        Msg.lParam = 0L;
        DisptchMessage(pGUIInfo, &Msg);
    }
    else
        hdlImage = SaveImageUseVirtualMem(MsgBoxData.lx, MsgBoxData.ty,
                            Width, Height);

    CreateMsgBox(&MsgBoxData);
    
    if((MsgBoxData.lStyle)&0x00f0)
        DisplayIcon(LoadMsgIcon(MsgBoxData.lStyle), MsgBoxData.lx + 20, MsgBoxData.ty + 70);
    SetPtrVis(SHOW);
    
    for(i=0; i<MsgBoxData.NumOfCtrl; i++)
    {
        CtrlData[i].lx = MsgBoxData.xfirst + i*100;
        CtrlData[i].ty = MsgBoxData.by - 42;
        CtrlData[i].by = MsgBoxData.by - 17;
        CtrlData[i].rx = MsgBoxData.xfirst + i*100 + 80;
    }
    
    SetFocus(&CtrlData[iRetCtrl]);
    
    fAlreadyUp = TRUE;
    GetKey(CLEAR);
    while(!fEND)
    {
        MSG Msg;
        
        GetMessage(&Msg);
        
        TranslateBoxMsg(FALSE, NULL, &Msg);
        
        switch(Msg.uMsg)
        {
            case NEXTGROUP:
            case NEXTTAB:
                iRetCtrl++;
                if(iRetCtrl == MsgBoxData.NumOfCtrl)
                    iRetCtrl = 0;
                SetFocus(&CtrlData[iRetCtrl]);
            break;
            
            case LASTGROUP:
            case LASTTAB:
                iRetCtrl--;
                if(iRetCtrl == -1)
                    iRetCtrl = MsgBoxData.NumOfCtrl - 1;
                SetFocus(&CtrlData[iRetCtrl]);
            break;
            
            case ABORT:
                switch(MsgBoxData.lStyle & 0x000f)
                {
                    case MB_ABORTRETRYIGNORE:
                        RetValue = IDABORT;
                        fEND = TRUE;
                    break;
                }
                break;
        
            case RETRY:
                switch(MsgBoxData.lStyle & 0x000f)
                {
                    case MB_RETRYCANCEL:
                    case MB_ABORTRETRYIGNORE:
                        RetValue = IDRETRY;
                        fEND = TRUE;
                    break;
                }
                break;
            
            case IGNORE:
                switch(MsgBoxData.lStyle & 0x000f)
                {
                    case MB_ABORTRETRYIGNORE:
                        RetValue = IDIGNORE;
                        fEND = TRUE;
                    break;
                }
                break;
            
            case CANCEL:
                switch(MsgBoxData.lStyle & 0x000f)
                {
                    case MB_OKCANCEL:
                    case MB_RETRYCANCEL:
                    case MB_YESNOCANCEL:
                        RetValue = IDCANCEL;
                        fEND = TRUE;
                    break;
                }
                break;
            
            case YES:
                switch(MsgBoxData.lStyle & 0x000f)
                {
                    case MB_YESNO:
                    case MB_YESNOCANCEL:
                        RetValue = IDYES;
                        fEND = TRUE;
                    break;
                }
                break;
        
            case NO:
                switch(MsgBoxData.lStyle & 0x000f)
                {
                    case MB_YESNO:
                    case MB_YESNOCANCEL:
                        RetValue = IDNO;
                        fEND = TRUE;
                    break;
                }
                break;
        
            case CHECK:
                PushButton(&CtrlData[iRetCtrl], TRUE);
                Sleep(100);
                PushButton(&CtrlData[iRetCtrl], FALSE);
            case OK:
                RetValue = CtrlRet[iRetCtrl];
                fEND = TRUE;
            break;
        
            case MOUSEFOCUS:
                SetFocus(((PCTRLDATA)Msg.pStr));
                PushButton(((PCTRLDATA)Msg.pStr), TRUE);
            break;
                
            case MOUSECHECK:
                PushButton(((PCTRLDATA)Msg.pStr), FALSE);
                if(Msg.wParam)
                {
                    RetValue = CtrlRet[Msg.wParam - 1];
                    fEND = TRUE;
                    break;
                }
                else
                    break;
                
            case BEEP:
                Beep(700, 50);
                break;
            default:
                break;
        }
    }
    
    SetFocus(NULL);
    SetPtrVis(HIDE);
    if(pGUIInfo)
    {
        RECT rect;
        
        rect.left   = MsgBoxData.lx;
        rect.top    = MsgBoxData.ty;
        rect.right  = MsgBoxData.rx;
        rect.bottom = MsgBoxData.by;

        SendMessage(pGUIInfo, MSG_ERASEBKGND, (WPARAM)(&rect), 0L);

        PostMessage(pGUIInfo, MSG_SETFOCUS, 0, 0L);
    }
    else if(hdlImage != _VM_NULL)
        RestoreImageUseVirtualMem(hdlImage, MsgBoxData.lx, MsgBoxData.ty);
    SetPtrVis(SHOW);
    
    return RetValue;
}

/*
 * Function: static BOOL CreateMsgBox( PMSGBOXDATA pMsgBoxData ).
 *      This function Create a message box.
 * Parameters:
 *      pMsgBoxData: the pointer to MSGBOXDATA struct;
 * Return: 
 *      success-----TRUE;
 *      failure-----FALSE.
 */
static BOOL CreateMsgBox( PMSGBOXDATA pMsgBoxData )
{   
    short buttonx;
    short buttony;
    BOOL  Have3 = FALSE;
    
    DrawBox(pMsgBoxData->lx, pMsgBoxData->ty, pMsgBoxData->rx, pMsgBoxData->by);
    
    buttonx = (pMsgBoxData->lx + pMsgBoxData->rx)/2 - 35;
    buttony = pMsgBoxData->by - 42;
    
    switch((pMsgBoxData->lStyle)&0x000f)
    {
        case MB_YESNOCANCEL:
        case MB_ABORTRETRYIGNORE:
            DrawCtrl(BUTTON, BS_PUSHBUTTON, buttonx, buttony, buttonx + 80, buttony + 25);
            buttonx += 100;
            Have3 = TRUE;
        case MB_RETRYCANCEL:
        case MB_YESNO:
        case MB_OKCANCEL:
            if(!Have3)  
                buttonx = (pMsgBoxData->lx + pMsgBoxData->rx)/2 + 10;
            DrawCtrl(BUTTON, BS_PUSHBUTTON, buttonx, buttony, buttonx + 80, buttony + 25);
            if(Have3)
                buttonx -=200;
            else
                buttonx -=100;
        case MB_OK:
            DrawCtrl(BUTTON, BS_PUSHBUTTON, buttonx, buttony, buttonx + 80, buttony + 25);
    }
    
    pMsgBoxData->xfirst = buttonx;
    
    buttonx += 40;
    buttony += 5;
                   
    set_color(0);
    switch((pMsgBoxData->lStyle)&0x000f)
    {
        case MB_YESNOCANCEL:
            cc_wt16(pMsgBoxData->pCtrlData->spItemText, buttonx - 20, buttony);
            buttonx += 100;
            cc_wt16((pMsgBoxData->pCtrlData + 1)->spItemText, buttonx - 20, buttony);
            buttonx +=100;                     
            cc_wt16((pMsgBoxData->pCtrlData + 2)->spItemText, buttonx - 16, buttony);
        break;
            
        case MB_ABORTRETRYIGNORE:
            cc_wt16((pMsgBoxData->pCtrlData)->spItemText, buttonx - 28, buttony);
            buttonx += 100;
            cc_wt16((pMsgBoxData->pCtrlData + 1)->spItemText, buttonx - 28, buttony);
            buttonx += 100;
            cc_wt16((pMsgBoxData->pCtrlData + 2)->spItemText, buttonx - 28, buttony);
        break;
            
        case MB_RETRYCANCEL:
            cc_wt16((pMsgBoxData->pCtrlData)->spItemText, buttonx - 28, buttony);
            buttonx += 100;
            cc_wt16((pMsgBoxData->pCtrlData + 1)-

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
97国产一区二区| 一区二区三区在线免费观看| 亚洲日本va在线观看| 国产很黄免费观看久久| 国产欧美一区二区精品性| 国产成人av资源| 国产资源精品在线观看| 国产女主播一区| 国产午夜精品一区二区| 欧美日韩一区三区四区| 六月丁香综合在线视频| 国产欧美日韩久久| 中文字幕制服丝袜一区二区三区| 一本大道久久精品懂色aⅴ| 日韩和欧美一区二区三区| 久久亚洲影视婷婷| 在线观看不卡一区| 国产精品一区二区三区99| 亚洲夂夂婷婷色拍ww47| 久久久久久**毛片大全| 欧美日本免费一区二区三区| 国产乱码精品一区二区三区五月婷| 国产一区二区三区不卡在线观看 | 国产精品网站在线播放| 欧美日本在线观看| 91精品久久久久久蜜臀| 欧美这里有精品| 日韩三级精品电影久久久| 成人亚洲一区二区一| 午夜精品aaa| 亚洲在线观看免费| 久久97超碰色| 免费不卡在线观看| 亚洲一区免费视频| 美女诱惑一区二区| 日本欧美在线看| 五月激情综合色| 成人精品一区二区三区中文字幕| 欧美亚州韩日在线看免费版国语版| av成人老司机| 色综合久久综合网97色综合| 91精品久久久久久久久99蜜臂| 中文字幕永久在线不卡| 中文字幕不卡的av| 中文成人综合网| 日韩avvvv在线播放| 不卡在线观看av| 色婷婷久久久久swag精品| 日韩亚洲欧美一区| 亚洲午夜激情网站| 日产国产欧美视频一区精品 | 亚洲午夜私人影院| 成人国产免费视频| 精品剧情在线观看| 久久久久综合网| 日韩高清不卡一区二区三区| 91蜜桃网址入口| 欧美三级午夜理伦三级中视频| 国产日韩欧美制服另类| 奇米影视一区二区三区| 在线精品视频一区二区三四| 国产欧美日韩在线| 国产一区视频在线看| 欧美va在线播放| 日本91福利区| 欧美肥妇free| 国产欧美1区2区3区| 激情综合色综合久久| 欧美日韩不卡一区二区| 国产精品精品国产色婷婷| 粉嫩久久99精品久久久久久夜| 97se亚洲国产综合自在线| 国产欧美日韩在线视频| 国产成人av网站| 久久久久久久久久久久久女国产乱| 青娱乐精品视频| 91麻豆精品91久久久久同性| 婷婷久久综合九色综合伊人色| 欧美中文字幕一区| 一区二区三区中文在线观看| av亚洲精华国产精华精| 中文字幕成人网| 97se亚洲国产综合在线| 亚洲精品伦理在线| 国模一区二区三区白浆| 精品福利一区二区三区免费视频| 亚洲视频免费看| 7777精品伊人久久久大香线蕉的| 亚洲精品久久久久久国产精华液 | 五月天激情综合网| 91精品婷婷国产综合久久竹菊| 免费精品视频最新在线| 精品国产一区二区三区av性色| 国产在线国偷精品产拍免费yy| 国产午夜精品美女毛片视频| 91网站视频在线观看| 亚洲成人免费在线| 99久久婷婷国产| 亚洲一区日韩精品中文字幕| 日韩三级免费观看| 北岛玲一区二区三区四区 | 欧美亚洲国产一区在线观看网站| 一区二区三区视频在线观看| 精品视频色一区| 久久99精品一区二区三区| 国产精品美女久久久久久久久 | 亚洲国产精品综合小说图片区| 91精品久久久久久久91蜜桃| 国产成人精品www牛牛影视| 亚洲乱码国产乱码精品精小说| 在线成人av影院| 成人午夜在线视频| 婷婷中文字幕一区三区| 国产精品午夜免费| 欧美精品在线一区二区三区| 国产成人精品在线看| 亚洲成人一二三| 国产精品视频九色porn| 在线播放日韩导航| 成人的网站免费观看| 日韩精品一二区| 国产精品成人网| 亚洲精品在线一区二区| 欧美日韩一区二区在线观看视频 | 日韩黄色片在线观看| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 成人h动漫精品一区二区| 香蕉久久夜色精品国产使用方法| 中文字幕不卡在线| 久久新电视剧免费观看| 欧美日韩国产成人在线免费| 岛国一区二区在线观看| 老司机精品视频在线| 香蕉乱码成人久久天堂爱免费| 亚洲男人的天堂在线观看| 色欧美乱欧美15图片| 高清日韩电视剧大全免费| 久久电影网电视剧免费观看| 亚洲3atv精品一区二区三区| 亚洲视频在线一区观看| 国产精品丝袜黑色高跟| 久久久精品综合| 久久久久99精品国产片| 26uuu色噜噜精品一区二区| 91麻豆精品国产自产在线 | 亚洲二区视频在线| 亚洲色欲色欲www| 一区二区三区日韩在线观看| 《视频一区视频二区| 中文字幕在线不卡| 亚洲视频一二三| 亚洲制服丝袜av| 亚洲电影第三页| 免费黄网站欧美| 香蕉加勒比综合久久| 奇米影视在线99精品| 久久成人羞羞网站| 国产在线一区观看| 国产成人av电影在线播放| 国产成人精品免费看| 99久久99久久精品免费看蜜桃| a在线播放不卡| 欧美影院一区二区三区| 欧美精品久久久久久久多人混战| 欧美久久久久久蜜桃| 日韩三级.com| 中文字幕精品综合| 一区二区三区四区在线播放| 午夜精品一区在线观看| 老司机精品视频一区二区三区| 国产专区综合网| 色综合久久综合网97色综合| 欧美精品久久久久久久久老牛影院| 日韩欧美一区二区视频| 欧美伊人久久久久久午夜久久久久| 欧美日韩视频一区二区| 日韩免费观看高清完整版| 久久精品男人天堂av| 亚洲精品欧美综合四区| 日韩精品一级中文字幕精品视频免费观看 | 日韩经典中文字幕一区| 久久精品国产99国产精品| 不卡一区在线观看| 欧美亚洲动漫制服丝袜| www国产成人| 夜夜操天天操亚洲| 看片网站欧美日韩| 色婷婷久久久综合中文字幕| 精品国免费一区二区三区| 亚洲国产精品精华液2区45| 亚洲另类色综合网站| 精品一区二区免费在线观看| 91麻豆精东视频| 日韩免费高清电影| 一区二区三区不卡在线观看| 激情都市一区二区| 欧美日韩国产在线播放网站| 亚洲国产高清在线| 久久精品999| 欧美久久高跟鞋激|