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

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

?? dduallistmanager.cpp

?? 這個程序是有關于考勤的應用系統
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
                SelectLBItem(m_ctrlChoosenList, iIndex2);
            }
        }
    }
}

///////////////////////////////////////////////////////////////////////////////
//
//  Method:			EnableButtons
//
//  Purpose:		Enables/disables all of the buttons Add; Add All; Remove: 
//                  Remove All; Move Up; Move Down; based on the contents and 
//                  selction state of the listbox controls.
//
//  Inputs:
//
//		void
//
//  Outputs:
//
//		None
//
//  Return value:
//
//		void 
//
//  Exceptions:		None
//
///////////////////////////////////////////////////////////////////////////////
void CDualListManager::EnableButtons(void)
{
    int     iSelCountAvailable;
    int     iCountAvailable    = m_ctrlAvailableList.GetCount();
    int     iSelCountChoosen   = m_ctrlChoosenList.GetSelCount();
    int     iCountChoosen      = m_ctrlChoosenList.GetCount();

    // If either of the listboxes are single selection listboxes the call to 
    // GetSelCount() will return -1 even if an item is selected. This code 
    // checks the style flag for each control and calls GetCurSel or 
    // GetSelCount depending on which style the given listbox has.
    // Get the count for the available list
    if(TRUE == m_bAvailableListSingleSelType)
    {
        iSelCountAvailable = (-1 == m_ctrlAvailableList.GetCurSel()) ? 0 : 1;
    }
    else
    {
        iSelCountAvailable = m_ctrlAvailableList.GetSelCount();
    }
    // Get the count for the choosen list
    if(TRUE == m_bChoosenListSingleSelType)
    {
        iSelCountChoosen = (-1 == m_ctrlChoosenList.GetCurSel()) ? 0 : 1;
    }
    else
    {
        iSelCountChoosen = m_ctrlChoosenList.GetSelCount();
    }

    BOOL    bEnableMoveUp   = FALSE;
    BOOL    bEnableMoveDown = FALSE;

    // Now enable/disable the move buttons based on the contents and selction 
    // state of the listbox controls.
    EnableWindow( m_iIDAddButton, iSelCountAvailable > 0 ? TRUE : FALSE);
    EnableWindow( m_iIDAddAllButton, iCountAvailable > 0 ? TRUE : FALSE);
    EnableWindow( m_iIDRemoveButton, iSelCountChoosen > 0 ? TRUE : FALSE);
    EnableWindow( m_iIDRemoveAllButton, iCountChoosen > 0 ? TRUE : FALSE);

    // Determine whether or not the up and down buttons should be enabled or
    // disabled based on what is selected and where it is in the list.
    if(0 < iSelCountChoosen)
    {
        int     iSelFirst = -1, iSelLast = -1;

        // Loop through all of the items in the list.
        for(int iIndex = 0; iIndex < iCountChoosen; ++iIndex)
        {
            // Check if this item is selected.
            if( 0 < m_ctrlChoosenList.GetSel( iIndex ) )
            {
                if(-1 == iSelFirst)
                {
                    iSelFirst = iIndex;
                }
                iSelLast = iIndex;
            }
        }

        // Up is disabled if all of the selected items are at the top of the listbox
        bEnableMoveUp   = (iSelFirst == 0 &&  (iSelLast - iSelFirst + 1) == iSelCountChoosen)
                          ? FALSE: TRUE;

        // Down is disabled if all of the selected items are at the bottom of the listbox
        bEnableMoveDown = (iSelLast == iCountChoosen - 1  &&  (iSelLast - iSelFirst + 1) == iSelCountChoosen)
                          ? FALSE: TRUE;
    }

    // Enable/disable the up and down buttons
    EnableWindow(m_iIDMoveUpButton, bEnableMoveUp);
    EnableWindow(m_iIDMoveDownButton, bEnableMoveDown);
}

///////////////////////////////////////////////////////////////////////////////
//
//  Method:			EnableWindow
//
//  Purpose:		Enables/disables a control based on the contents and 
//                  selection state of the listboxes. Advances the focus to the
//                  next control if the control being disabled has the focus.
//
//  Inputs:
//
//		int iIDControl
//
//		BOOL bEnable
//
//  Outputs:
//
//		None
//
//  Return value:
//
//		void 
//
//  Exceptions:		None
//
///////////////////////////////////////////////////////////////////////////////
void CDualListManager::EnableWindow(int iIDControl, BOOL bEnable)
{
    // If we are about to disable a control and it is the control that currently
    // has the focus advance the focus to the next control before disabling it.
    CWnd * pWnd = m_pWndParent->GetFocus();
    if(NULL != pWnd)
    {
        if( FALSE == bEnable && m_pWndParent->GetFocus()->GetDlgCtrlID() == iIDControl)
        {
            // Use SendMessage instead of call NextDlgCtrl() which would force
            // us to cast the rWndParent. Since we don't know if it is a CDialog,
            // CView, CProperyPage etc. calling SendMessage is the way to go.
            m_pWndParent->SendMessage(WM_NEXTDLGCTL, 0, 0L);
        }
    }

    // Now disable the control whose id was passed in if it is a valid window.
    // It may not be if this class was constructed with a NULL ID for a given
    // control
    pWnd = m_pWndParent->GetDlgItem(iIDControl);
    if(NULL != pWnd)
    {
        pWnd->EnableWindow( bEnable );
    }
}

///////////////////////////////////////////////////////////////////////////////
//
//  Method:			SelectLBItem
//
//  Purpose:		Checks to see if the listbox is a single or multi select
//                  listbox and calls the appropriate selection method on the
//                  CListBox class.
//
//  Inputs:
//
//		CListBox & rListBox
//
//		int iItem
//
//  Outputs:
//
//		None
//
//  Return value:
//
//		void 
//
//  Exceptions:		None
//
///////////////////////////////////////////////////////////////////////////////
void CDualListManager::SelectLBItem(CListBox & rListBox, int iItem)
{
    if(rListBox.GetStyle() & (LBS_MULTIPLESEL | LBS_EXTENDEDSEL))
    {
        rListBox.SetSel(iItem);
    }
    else
    {
        rListBox.SetCurSel(iItem);
    }
}

///////////////////////////////////////////////////////////////////////////////
//
//  Method:			ProcessCmdMsg
//
//  Purpose:		Should be called from the parents OnCmdMsg(...) method.
//                  Processes the windows commands associated with the buttons
//                  and listbox controls. Normally this would happen in the 
//                  message map but since the ids of the controls are passed
//                  into this class the message map cannot be used.
//                  
//                  The parent can also process the message if it wants or it
//                  can check the return code and bypass the message if it was
//                  handled by this method.
//
//  Inputs:
//
//		int nID - id of the control the message is associated with
//
//		int nCode - message value
//
//  Outputs:
//
//		None
//
//  Return value:
//
//		BOOL 
//
//  Exceptions:		None
//
///////////////////////////////////////////////////////////////////////////////
BOOL CDualListManager::ProcessCmdMsg(int nID, int nCode) 
{
    BOOL bProcessed = TRUE;

    // Add - button handler
    if(nID == m_iIDAddButton)
        MoveSelected(m_ctrlAvailableList, m_ArrayAvailable, m_ArrayChoosen, FALSE);
    // Add All - button handler
    else if(nID == m_iIDAddAllButton)
        MoveAll(m_ctrlAvailableList, m_ctrlChoosenList, m_ArrayAvailable, m_ArrayChoosen);
    // Remove - button handler
    else if(nID == m_iIDRemoveButton)
        MoveSelected(m_ctrlChoosenList, m_ArrayChoosen, m_ArrayAvailable, TRUE);
    // Remove All - button handler
    else if(nID == m_iIDRemoveAllButton)
        MoveAll(m_ctrlChoosenList, m_ctrlAvailableList, m_ArrayChoosen, m_ArrayAvailable);
    // Move Down - button handler
    else if(nID == m_iIDMoveDownButton)
        MoveUpOrDown(FALSE);
    // Move Up - button handler
    else if(nID == m_iIDMoveUpButton)
        MoveUpOrDown(TRUE);
    // Double Click on an item in the from list - handler
	else if(nID == m_iIDAvailableList && nCode == LBN_DBLCLK)
        MoveSelected(m_ctrlAvailableList, m_ArrayAvailable, m_ArrayChoosen, FALSE);
    // Double Click on an item in the to list - handler
	else if(nID == m_iIDChoosenList && nCode == LBN_DBLCLK)
        MoveSelected(m_ctrlChoosenList, m_ArrayChoosen, m_ArrayAvailable, TRUE);
    // Selection changed in the from list - handler
	else if(nID == m_iIDAvailableList && nCode == LBN_SELCHANGE)
        EnableButtons();
    // Selection changed in the to list - handler
	else if(nID == m_iIDChoosenList && nCode == LBN_SELCHANGE)
        EnableButtons();
    // All other messages are sent to the base class.
    else
        bProcessed = FALSE;

    // If we processed the message then update the buttons to reflect any 
    // changes we made.
    if(TRUE == bProcessed)
    {
        EnableButtons();
    }
	
    return bProcessed;
}

/////////////////////////////////////////////////////////////////////////////
// CDualListManager dialog


CDualListDialog::CDualListDialog(CWnd* pParent /*=NULL*/)
	: CDialog(CDualListDialog::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDualListManager)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void CDualListDialog::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDualListManager)
		// NOTE: the ClassWizard will add DDX and DDV calls here
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDualListDialog, CDialog)
	//{{AFX_MSG_MAP(CDualListManager)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDualListManager message handlers

BOOL CDualListDialog::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人a级免费电影| 欧美一区二区三区免费| 久久色视频免费观看| 国模大尺度一区二区三区| 日韩欧美专区在线| 久久机这里只有精品| 久久久久九九视频| 成人不卡免费av| 一区av在线播放| 欧美精品 国产精品| 精品在线一区二区| 亚洲国产精品激情在线观看| av亚洲产国偷v产偷v自拍| 亚洲美女视频一区| 69堂成人精品免费视频| 韩国视频一区二区| 综合分类小说区另类春色亚洲小说欧美| 91黄色免费版| 免费欧美在线视频| 久久久久久久久岛国免费| 97se亚洲国产综合自在线观| 偷拍亚洲欧洲综合| 国产区在线观看成人精品| 99re热这里只有精品视频| 亚洲一区二区偷拍精品| 日韩欧美国产一区在线观看| 成人一区二区三区中文字幕| 爽好多水快深点欧美视频| 精品国产第一区二区三区观看体验| 成人小视频免费在线观看| 亚洲高清免费在线| 久久久99精品免费观看不卡| 在线欧美日韩国产| 国内精品免费**视频| 亚洲一区二区在线播放相泽| 久久久精品国产99久久精品芒果| 欧美亚洲动漫另类| 精品一区二区三区日韩| 亚洲精品大片www| 久久久久青草大香线综合精品| 欧美亚洲日本国产| 国产成人精品影视| 毛片不卡一区二区| 一区二区在线观看视频| 国产欧美日韩中文久久| 91麻豆精品国产91久久久使用方法| 成人黄色a**站在线观看| 奇米888四色在线精品| 亚洲欧美综合网| 久久久久久免费网| 欧美一区二区高清| 欧美日韩精品三区| 色吊一区二区三区| 成人精品鲁一区一区二区| 免费视频一区二区| 日韩精品久久理论片| 夜夜嗨av一区二区三区四季av| 国产色一区二区| 日韩精品中文字幕一区二区三区 | 久久久久久久久久久久久久久99| 欧美在线色视频| 91一区一区三区| 成人黄色软件下载| 国产麻豆精品一区二区| 久久国产免费看| 美女诱惑一区二区| 日韩电影在线一区二区| 亚洲午夜精品在线| 亚洲乱码国产乱码精品精可以看 | 成人午夜视频在线观看| 国产呦精品一区二区三区网站| 蜜臀久久久99精品久久久久久| 亚洲.国产.中文慕字在线| 亚洲欧美日本韩国| 亚洲免费三区一区二区| 自拍偷拍欧美精品| 亚洲人成在线观看一区二区| 中文字幕一区三区| 最新日韩在线视频| 18成人在线观看| 亚洲精品国产第一综合99久久| 亚洲美女屁股眼交3| 一区二区三区四区高清精品免费观看| 椎名由奈av一区二区三区| 亚洲视频综合在线| 一区二区三区国产精品| 一个色在线综合| 午夜精品视频一区| 天天色天天操综合| 激情综合网最新| 国产精品夜夜爽| 99免费精品视频| 在线一区二区三区四区五区| 欧美日韩中文精品| 欧美一区日本一区韩国一区| 日韩午夜小视频| 欧美国产欧美亚州国产日韩mv天天看完整 | 色成年激情久久综合| 91国内精品野花午夜精品| 欧美日韩免费高清一区色橹橹| 91精品免费观看| 久久日一线二线三线suv| 国产精品日产欧美久久久久| 一区二区三区四区亚洲| 蜜桃精品视频在线| 波多野结衣在线aⅴ中文字幕不卡 波多野结衣在线一区 | 日韩欧美一区在线| 久久久久成人黄色影片| 亚洲日本电影在线| 日韩国产精品久久久久久亚洲| 国模娜娜一区二区三区| 色综合中文字幕国产 | 国产精品国产三级国产三级人妇 | 手机精品视频在线观看| 国产永久精品大片wwwapp | 丁香婷婷综合色啪| 欧美亚洲一区二区在线观看| 精品国产乱码久久久久久蜜臀| 国产精品美女久久久久久| 亚洲国产美国国产综合一区二区| 久久成人免费电影| 色综合色综合色综合| 日韩三级免费观看| 亚洲码国产岛国毛片在线| 奇米影视7777精品一区二区| 99在线精品一区二区三区| 3atv一区二区三区| 一区视频在线播放| 老司机精品视频导航| 91福利精品视频| 中文子幕无线码一区tr| 日本欧美韩国一区三区| 99精品久久只有精品| 精品久久久久久最新网址| 一片黄亚洲嫩模| 成人午夜大片免费观看| 欧美一区二区黄色| 亚洲国产aⅴ天堂久久| 成人a级免费电影| 久久久久久久久久看片| 日韩二区三区四区| 欧美在线视频你懂得| 国产精品美女www爽爽爽| 精品一区在线看| 欧美精品欧美精品系列| 亚洲综合自拍偷拍| 成人白浆超碰人人人人| 久久午夜国产精品| 久久精品国产99国产精品| 欧美视频一二三区| 一级特黄大欧美久久久| 91在线一区二区三区| 亚洲国产高清不卡| 国产精品一区二区不卡| 亚洲精品一区二区三区蜜桃下载| 日韩一区精品视频| 555www色欧美视频| 亚洲成av人片一区二区三区| 91福利精品第一导航| 自拍av一区二区三区| 99久久综合色| 一区在线观看视频| 99久久99精品久久久久久 | 欧美日韩久久久一区| 一区二区三区在线影院| 色婷婷av一区二区| 一区二区欧美精品| 欧美性大战xxxxx久久久| 亚洲成人免费在线| 欧美三级电影一区| 午夜精品久久久久久久久| 91精品综合久久久久久| 蜜臀av国产精品久久久久| 欧美大片在线观看一区二区| 国产在线国偷精品免费看| 久久久夜色精品亚洲| 丰满少妇在线播放bd日韩电影| 日本一区二区高清| 99精品欧美一区二区蜜桃免费| 樱花影视一区二区| 欧美二区三区91| 九九九精品视频| 亚洲国产成人一区二区三区| 99re热视频精品| 亚洲电影一级黄| 精品嫩草影院久久| 国产精品一区二区不卡| 亚洲视频一二三区| 欧美理论电影在线| 麻豆91在线看| 国产精品色哟哟网站| 欧洲色大大久久| 全部av―极品视觉盛宴亚洲| 久久亚洲春色中文字幕久久久| 成人夜色视频网站在线观看| 亚洲男人的天堂av| 91精品国产丝袜白色高跟鞋| 国产大片一区二区| 一区二区三区精品视频在线| 日韩精品一区二区三区视频在线观看 |