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

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

?? dialog.c

?? DOS環境下圖形用戶界面支持系統
?? C
?? 第 1 頁 / 共 5 頁
字號:
    }
    else
        hdlImage = SaveImageUseVirtualMem(
                            pDlgHeader->lx, 
                            pDlgHeader->ty,
                            pDlgHeader->rx - pDlgHeader->lx, 
                            pDlgHeader->by - pDlgHeader->ty);

    CtrlIndex = 0;
    fAlreadyUp = TRUE;
    
    if(!StartDialog(pDlgHeader))
    {
        SetPtrVis(SHOW);
        return FALSE;
    }
    DrawBox(pDlgHeader->lx, pDlgHeader->ty, pDlgHeader->rx, pDlgHeader->by);
    (*DlgProc)(pDlgHeader, INITDIALOG, (WORD)NULL, (LONG)lpStr);
    CreateDialog(pDlgHeader, DlgProc);
    SetPtrVis(SHOW);
    
    if( CLOSE == (*DlgProc)(pDlgHeader, INITIALIZED, 0, 0L))
        goto enddlg;
    
    Msg.uMsg = SETFOCUS;
    Msg.pStr = (PSTR)(GetNextTabstop(pDlgHeader, pDlgHeader->pCtrlData));
    
    GetKey(CLEAR);
    do
    {
        if( Msg.uMsg == SETFOCUS 
                || Msg.uMsg == FOCUSCOMMAND 
                || Msg.uMsg == COMMAND
                || Msg.uMsg == CANCEL) 
        {
            SetFocus(((PCTRLDATA)Msg.pStr));
            if(((PCTRLDATA)Msg.pStr)->bClass == EDIT)
                ProcEdit(pDlgHeader, ((PCTRLDATA)Msg.pStr), &Msg);
            else if(((PCTRLDATA)Msg.pStr)->bClass == LISTBOX)
                ProcListBox(pDlgHeader, ((PCTRLDATA)Msg.pStr), &Msg);
            else
            {
                do
                {
                    GetMessage(&Msg);
                }while(Msg.uMsg == NULLINPUT);
                TranslateBoxMsg(TRUE, pDlgHeader, &Msg);
            }
        }
        else
        {
            do
            {
                GetMessage(&Msg);
            }while(Msg.uMsg == NULLINPUT);
            TranslateBoxMsg(TRUE, pDlgHeader, &Msg);
        }
        
        switch(Msg.uMsg)
        {
            case NEXTTAB:
                Msg.uMsg = SETFOCUS;
                Msg.pStr = (PSTR)GetNextTabstop(pDlgHeader, ((PCTRLDATA)Msg.pStr));
                if(((PCTRLDATA)Msg.pStr)->lStyle & WS_GROUP)
                {
                    PCTRLDATA pCtrlBuff;
                    pCtrlBuff = ((PCTRLDATA)Msg.pStr);
                    
                    while(TRUE)
                    {   
                        pCtrlBuff = GetNextItemInGroup(pDlgHeader, pCtrlBuff);
                        
                        if( pCtrlBuff->lStyle & WS_CHECKED)
                            break;
                        if( pCtrlBuff == ((PCTRLDATA)Msg.pStr) )
                            break;
                    }
                    Msg.pStr = (PSTR)pCtrlBuff;
                }
            break;
            
            case LASTTAB:
                Msg.uMsg = SETFOCUS;
                if(!(((PCTRLDATA)Msg.pStr)->lStyle & WS_TABSTOP))
                    Msg.pStr = (PSTR)GetLastTabstop(pDlgHeader, ((PCTRLDATA)Msg.pStr));
                Msg.pStr = (PSTR)GetLastTabstop(pDlgHeader, ((PCTRLDATA)Msg.pStr));
                if(((PCTRLDATA)Msg.pStr)->lStyle & WS_GROUP)
                {
                    PCTRLDATA pCtrlBuff;
                    pCtrlBuff = ((PCTRLDATA)Msg.pStr);
                    
                    while(TRUE)
                    {   
                        pCtrlBuff = GetLastItemInGroup(pDlgHeader, pCtrlBuff);
                        
                        if( pCtrlBuff->lStyle & WS_CHECKED)
                            break;
                        if( pCtrlBuff == ((PCTRLDATA)Msg.pStr) )
                            break;
                    }
                    Msg.pStr = (PSTR)pCtrlBuff;
                }
            break;
            
            case NEXTGROUP:
                Msg.uMsg = FOCUSCOMMAND;
                do
                {
                    Msg.pStr = (PSTR)GetNextItemInGroup(pDlgHeader, ((PCTRLDATA)Msg.pStr));
                }while(((PCTRLDATA)Msg.pStr)->lStyle & WS_DISABLED);
                CheckCtrl(pDlgHeader, ((PCTRLDATA)Msg.pStr));
            break;
            
            case LASTGROUP:
                Msg.uMsg = FOCUSCOMMAND;
                do
                {
                    Msg.pStr = (PSTR)GetLastItemInGroup(pDlgHeader, ((PCTRLDATA)Msg.pStr));
                }while(((PCTRLDATA)Msg.pStr)->lStyle & WS_DISABLED);
                CheckCtrl(pDlgHeader, ((PCTRLDATA)Msg.pStr));
            break;
            
            case CANCEL:
                if(HaveCancelButton(pDlgHeader))
                {
                    Msg.uMsg = COMMAND;
                    Msg.pStr = (PSTR)GetControlData(pDlgHeader, IDCANCEL);
                }
                else
                    break;
            break;
            
            case CHECK:
                Msg.uMsg = COMMAND;
                if(((((PCTRLDATA)Msg.pStr)->lStyle & 0x0000000fL) == BS_PUSHBUTTON) &&
                    (((PCTRLDATA)Msg.pStr)->bClass == BUTTON))
                {
                    PushButton(((PCTRLDATA)Msg.pStr), TRUE);
                    Sleep(100);
                    PushButton(((PCTRLDATA)Msg.pStr), FALSE);
                }
                else
                    CheckCtrl(pDlgHeader, ((PCTRLDATA)Msg.pStr));
            break;
            
            case OK:
                Msg.uMsg = COMMAND;
                if(((((PCTRLDATA)Msg.pStr)->lStyle & 0x0000000fL) == BS_PUSHBUTTON) &&
                    (((PCTRLDATA)Msg.pStr)->bClass == BUTTON))
                {
                    PushButton(((PCTRLDATA)Msg.pStr), TRUE);
                    Sleep(100);
                    PushButton(((PCTRLDATA)Msg.pStr), FALSE);
                }
                else
                {
                    Msg.pStr = (PSTR)GetControlData(pDlgHeader, IDOK);
                    SetFocus(((PCTRLDATA)Msg.pStr));
                }
                break;
                
            case BEEP:
                Msg.uMsg = NONE;
                Beep(700, 50);
                break;
                
            case MOUSEFOCUS:
                Msg.uMsg = SETFOCUS;
                if(((((PCTRLDATA)Msg.pStr)->lStyle & 0x0000000fL) == BS_PUSHBUTTON) &&
                    (((PCTRLDATA)Msg.pStr)->bClass == BUTTON))
                    PushButton(((PCTRLDATA)Msg.pStr), TRUE);
                break;
                
            case MOUSECHECK:
                if(((((PCTRLDATA)Msg.pStr)->lStyle & 0x0000000fL) == BS_PUSHBUTTON) &&
                    (((PCTRLDATA)Msg.pStr)->bClass == BUTTON))
                    PushButton(((PCTRLDATA)Msg.pStr), FALSE);
                if(Msg.wParam)
                {
                    if(((PCTRLDATA)Msg.pStr)->lStyle & WS_DISABLED)
                    {
                        Msg.uMsg = NONE;
                        break;
                    }
                    Msg.uMsg = COMMAND;
                    CheckCtrl(pDlgHeader, ((PCTRLDATA)Msg.pStr));
                }
                else
                    Msg.uMsg = NONE;
                break;
                
            case FOCUSCOMMAND:
            case COMMAND:
                break;
                
            default:
                Msg.uMsg = NONE;
                break;
        }
        
        if(Msg.pStr == NULL)
            continue;

        if( CLOSE == (*DlgProc)(pDlgHeader, Msg.uMsg, ((PCTRLDATA)Msg.pStr)->wID, (LONG)NULL))
            break;
            
    }while(TRUE);

enddlg:
    SetFocus(NULL);
    EndDialog(pDlgHeader);
    
    SetPtrVis(HIDE);
    if(pGUIInfo)
    {
        RECT rect;
        
        rect.left   = pDlgHeader->lx;
        rect.top    = pDlgHeader->ty;
        rect.right  = pDlgHeader->rx;
        rect.bottom = pDlgHeader->by;

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

        PostMessage(pGUIInfo, MSG_SETFOCUS, 0, 0L);
    }
    else if(hdlImage != _VM_NULL)
        RestoreImageUseVirtualMem(hdlImage, pDlgHeader->lx, pDlgHeader->ty);

    SetPtrVis(SHOW);
    
    return TRUE;
}

/*
 * Function: static BOOL StartDialog( PDLGHEADER pDlgHeader );
 *      This function draw dialog box. This is a common function.
 * Parameters:
 *      pDlgHeader: a pointer to DLGHEADER struct;
 * Return: 
 *      success----TRUE;
 *      failure----FALSE.
 */
static BOOL StartDialog( PDLGHEADER pDlgHeader )
{
    int i;
    
    for(i=0; i<pDlgHeader->NumOfItems; i++)
    {
        // Allocate memory for special controls.
        switch((pDlgHeader->pCtrlData + i)->bClass)
        {
            case LISTBOX:
            {
                LPLISTBOXBUFF lpBuff;
                
                lpBuff = (LPLISTBOXBUFF)_fmalloc(sizeof(LISTBOXBUFF));
                if(lpBuff == NULL)
                    return FALSE;
                else
                {
                    lpBuff->iWndOffset = 0;
                    lpBuff->iCurSel = -1;
                    lpBuff->iCount = 0;
                    lpBuff->pHead = NULL;
                    (pDlgHeader->pCtrlData + i)->slpAdd = (LPSTR)lpBuff;
                }
                break;
            }
            case EDIT:
            {
                LPEDITBUFF lpBuff;
                
                lpBuff = (LPEDITBUFF)_fmalloc(sizeof(EDITBUFF));
                if(lpBuff == NULL)
                    return FALSE;
                else
                {
                    _fmemset(lpBuff, 0, sizeof(EDITBUFF));
                    (pDlgHeader->pCtrlData + i)->slpAdd = (LPSTR)lpBuff;
                }
                break;
            }
            default:
                break;
        }
    }
}

/*
 * Function: void GUIAPI EndDialog( PDLGHEADER pDlgHeader );
 *      This function draw dialog box. This is a common function.
 * Parameters:
 *      pDlgHeader: a pointer to DLGHEADER struct;
 * Return: 
 *      success----TRUE;
 *      failure----FALSE.
 */
static void EndDialog( PDLGHEADER pDlgHeader )
{
    int i;
    
    for(i=0; i<pDlgHeader->NumOfItems; i++)
    {
        if((pDlgHeader->pCtrlData + i)->bClass == LISTBOX)
        {
            ReleaseListBoxBuff(pDlgHeader->pCtrlData + i);
            _ffree((pDlgHeader->pCtrlData + i)->slpAdd);
        }
        else if((pDlgHeader->pCtrlData + i)->bClass == EDIT)
            _ffree((pDlgHeader->pCtrlData + i)->slpAdd);
    }
}

/*
 * Function: BOOL GUIAPI CreateDialog( PDLGHEADER pDlgHeader, int (FAR *DlgProc)());
 *      This function draw dialog box. This is a common function.
 * Parameters:
 *      pDlgHeader: a pointer to DLGHEADER struct;
 *      DlgProc   : a pointer to dialog callback function.
 * Return: 
 *      success----TRUE;
 *      failure----FALSE.
 */
static BOOL CreateDialog( PDLGHEADER pDlgHeader, int (FAR *DlgProc)() )
{
    int i;
    
    for(i=0; i<pDlgHeader->NumOfItems; i++)
    {
        if((*DlgProc)(pDlgHeader, DRAWCTRL, (pDlgHeader->pCtrlData + i)->wID, (LPSTR)(pDlgHeader->pCtrlData + i)) == OWNER)
            continue;
    
        DrawCtrl((pDlgHeader->pCtrlData + i)->bClass,
                 (pDlgHeader->pCtrlData + i)->lStyle,
                 (pDlgHeader->pCtrlData + i)->lx,
                 (pDlgHeader->pCtrlData + i)->ty,
                 (pDlgHeader->pCtrlData + i)->rx,
                 (pDlgHeader->pCtrlData + i)->by);
    }
    
    // Draw copyright information.

    if( !Bitmap(szDefaultLogo, 5, pDlgHeader->lx + 8, pDlgHeader->ty + 22))
    {
        set_color( 5 );
        cc_wt16(szMiniGUI, pDlgHeader->lx + 8, pDlgHeader->ty + 6);
    }

    set_color(15);
    cc_wt16(pDlgHeader->spCaption, 
                (pDlgHeader->lx + pDlgHeader->rx)/2 - GetOutWidth(pDlgHeader->spCaption)/2,
                pDlgHeader->ty + 8);
                
    for(i=0; i<pDlgHeader->NumOfItems; i++)
    {
        if((*DlgProc)(pDlgHeader, DRAWTEXT, (pDlgHeader->pCtrlData + i)->wID, (LPSTR)(pDlgHeader->pCtrlData + i)) == OWNER)
            continue;
        
        DrawCtrlClientArea(pDlgHeader->pCtrlData + i);
    }
    
    return TRUE;
}

/*
 * Function: BOOL HaveCancelButton()
 *      This function determine that if the dialog box have a button of IDCANCEL
 * Parameters:
 *      none.
 * Return: 
 *      TRUE: have a button of IDCANCEL;
 *      FALSE: have none button of IDCANCEL;
 */
static BOOL HaveCancelButton( PDLGHEADER pDlgHeader )
{
    short i;
    PCTRLDATA pCtrlData;
    

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
97超碰欧美中文字幕| 一色桃子久久精品亚洲| 91精品国产入口| 欧美亚洲精品一区| 欧美体内she精高潮| 欧美性受极品xxxx喷水| 欧美日韩国产高清一区二区三区| 欧美日韩亚洲综合一区二区三区| 欧美日韩久久一区二区| 欧美日韩免费观看一区二区三区 | 国产精品夜夜爽| 国产一区二区三区在线观看免费视频| 国产又黄又大久久| 国产福利视频一区二区三区| 国产精品一区二区免费不卡 | 91麻豆免费看| 欧美在线不卡视频| 7777精品伊人久久久大香线蕉| 91麻豆精品国产91久久久久久久久| 91精品国产手机| ww久久中文字幕| 国产精品无码永久免费888| 中文字幕亚洲不卡| 亚洲一区免费视频| 日韩高清不卡一区二区| 久久99精品国产.久久久久| 国产盗摄一区二区三区| 97精品超碰一区二区三区| 欧美揉bbbbb揉bbbbb| 精品国产乱子伦一区| 中文字幕av资源一区| 日韩一区二区三区电影| 亚洲少妇屁股交4| 亚洲人精品午夜| 五月天中文字幕一区二区| 奇米精品一区二区三区四区| 国产主播一区二区| 99精品久久久久久| 欧美日韩一区在线| 精品日韩一区二区三区| 国产精品久久久久久久蜜臀 | 亚洲成a人在线观看| 美女一区二区在线观看| 成人精品高清在线| 777午夜精品视频在线播放| 久久久久久麻豆| 一区二区欧美精品| 精品一区二区三区在线播放| 97久久精品人人澡人人爽| 日韩欧美一级二级三级久久久| 国产精品视频观看| 日本sm残虐另类| 国产精品久久久久久久久图文区| 在线一区二区观看| 亚洲图片一区二区| 狠狠色丁香九九婷婷综合五月| 99国产精品久| 精品国产一区久久| 夜夜亚洲天天久久| 成人网男人的天堂| 日韩欧美专区在线| 亚洲精品欧美专区| 极品少妇xxxx精品少妇| 欧美在线视频日韩| 国产日产欧美一区| 伦理电影国产精品| 欧美在线小视频| 国产精品青草综合久久久久99| 蜜桃91丨九色丨蝌蚪91桃色| 在线日韩国产精品| 国产精品进线69影院| 精品一区二区成人精品| 欧美午夜寂寞影院| 中文字幕一区二区三区在线播放| 精品一区二区在线免费观看| 欧美女孩性生活视频| 亚洲男人都懂的| 成人丝袜18视频在线观看| 欧美一区二区精品久久911| 亚洲一区在线免费观看| jlzzjlzz亚洲女人18| 久久免费偷拍视频| 久久国产婷婷国产香蕉| 欧美一区二区三区公司| 亚洲一区在线观看网站| 色婷婷av一区二区三区软件| 国产精品美女www爽爽爽| 国产精品一区不卡| 欧美电影免费观看高清完整版在线 | 日韩国产精品久久久| 色播五月激情综合网| 中文文精品字幕一区二区| 国产专区综合网| 亚洲精品一区在线观看| 激情综合网av| 久久一日本道色综合| 激情综合网最新| 欧美va亚洲va在线观看蝴蝶网| 日韩中文字幕一区二区三区| 欧美日韩一区不卡| 三级亚洲高清视频| 91精品国产黑色紧身裤美女| 日本最新不卡在线| 日韩一区二区免费视频| 三级不卡在线观看| 欧美一区二区在线不卡| 人人精品人人爱| 日韩欧美美女一区二区三区| 蜜桃一区二区三区在线| 亚洲精品在线免费播放| 国产一区二区0| 久久精品人人做人人综合| 国产aⅴ精品一区二区三区色成熟| 久久精品一区二区三区四区| 国产成人午夜电影网| 亚洲欧洲美洲综合色网| 色欧美片视频在线观看在线视频| 夜夜爽夜夜爽精品视频| 欧美人伦禁忌dvd放荡欲情| 日韩精品电影一区亚洲| 欧美成人官网二区| 国产成人av一区| 日韩理论在线观看| 欧美影院精品一区| 日韩1区2区日韩1区2区| 2022国产精品视频| 成人夜色视频网站在线观看| 亚洲欧美日韩电影| 欧美日韩大陆一区二区| 久草这里只有精品视频| 国产亚洲精品免费| 日本韩国精品在线| 天堂蜜桃一区二区三区| 337p日本欧洲亚洲大胆色噜噜| 丁香激情综合国产| 一区二区三区电影在线播| 在线成人午夜影院| 国产精品亚洲第一区在线暖暖韩国| 国产精品女人毛片| 欧美疯狂性受xxxxx喷水图片| 国产自产v一区二区三区c| 亚洲欧美日韩在线| 欧美一区二区三区在线| 国产99久久精品| 午夜视频一区在线观看| 国产亚洲欧美一级| 91黄色免费观看| 捆绑变态av一区二区三区| 18涩涩午夜精品.www| 91精品国产综合久久精品app| 成人国产精品视频| 五月天激情小说综合| 国产欧美日韩在线看| 欧美区在线观看| av网站免费线看精品| 麻豆精品一区二区综合av| 亚洲欧美激情插| 久久亚洲一区二区三区明星换脸| 欧美亚洲国产怡红院影院| 国产美女视频一区| 午夜欧美视频在线观看| 中文字幕欧美一| 精品国产精品一区二区夜夜嗨| 色一情一乱一乱一91av| 激情深爱一区二区| 污片在线观看一区二区| 国产精品欧美一级免费| 精品免费国产二区三区| 欧美亚洲尤物久久| 成人黄色在线网站| 狠狠网亚洲精品| 天堂资源在线中文精品| 亚洲欧洲成人自拍| 久久久久久久久久久99999| 在线播放国产精品二区一二区四区| 成人动漫一区二区在线| 麻豆精品新av中文字幕| 五月激情综合婷婷| 伊人夜夜躁av伊人久久| 国产精品久久久久精k8| 欧美精品一区二区久久久| 欧美伦理影视网| 91久久精品一区二区三区| 亚洲最新视频在线观看| 色综合久久久网| 粉嫩高潮美女一区二区三区| 久久国产精品第一页| 日韩国产精品久久| 亚洲一二三区在线观看| 成人欧美一区二区三区黑人麻豆 | 亚洲人妖av一区二区| 国产精品五月天| 亚洲国产高清在线观看视频| 国产亚洲短视频| 久久女同性恋中文字幕| 2023国产精品自拍| 久久综合网色—综合色88| 日韩小视频在线观看专区| 日韩一区二区三免费高清| 欧美精品电影在线播放|