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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? colourpopup.cpp

?? 一個(gè)基于PXA255的水情遙測(cè)、遙控系統(tǒng)現(xiàn)場(chǎng)服務(wù)器軟件
?? CPP
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
        {
            if (m_strDefaultText.GetLength())
                row = col = DEFAULT_BOX_VALUE;
            else if (m_strCustomText.GetLength())
                row = col = CUSTOM_BOX_VALUE;
            else
            { 
                row = GetRow(m_nNumColours-1); 
                col = GetColumn(m_nNumColours-1); 
            }
        }
        ChangeSelection(GetIndex(row, col));
    }

    if (nChar == VK_RIGHT) 
    {
        if (row == DEFAULT_BOX_VALUE) 
            row = col = 0; 
        else if (row == CUSTOM_BOX_VALUE)
        {
            if (m_strDefaultText.GetLength())
                row = col = DEFAULT_BOX_VALUE;
            else
                row = col = 0;
        }
        else if (col < m_nNumColumns-1) 
            col++;
        else 
        { 
            col = 0; row++;
        }

        if (GetIndex(row,col) == INVALID_COLOUR)
        {
            if (m_strCustomText.GetLength())
                row = col = CUSTOM_BOX_VALUE;
            else if (m_strDefaultText.GetLength())
                row = col = DEFAULT_BOX_VALUE;
            else
                row = col = 0;
        }

        ChangeSelection(GetIndex(row, col));
    }

    if (nChar == VK_LEFT) 
    {
        if (row == DEFAULT_BOX_VALUE)
        {
            if (m_strCustomText.GetLength())
                row = col = CUSTOM_BOX_VALUE;
            else
           { 
                row = GetRow(m_nNumColours-1); 
                col = GetColumn(m_nNumColours-1); 
            }
        }
        else if (row == CUSTOM_BOX_VALUE)
        { 
            row = GetRow(m_nNumColours-1); 
            col = GetColumn(m_nNumColours-1); 
        }
        else if (col > 0) col--;
        else /* col == 0 */
        {
            if (row > 0) { row--; col = m_nNumColumns-1; }
            else 
            {
                if (m_strDefaultText.GetLength())
                    row = col = DEFAULT_BOX_VALUE;
                else if (m_strCustomText.GetLength())
                    row = col = CUSTOM_BOX_VALUE;
                else
                { 
                    row = GetRow(m_nNumColours-1); 
                    col = GetColumn(m_nNumColours-1); 
                }
            }
        }
        ChangeSelection(GetIndex(row, col));
    }

    if (nChar == VK_ESCAPE) 
    {
        m_crColour = m_crInitialColour;
        EndSelection(CPN_SELENDCANCEL);
        return;
    }

    if (nChar == VK_RETURN || nChar == VK_SPACE)
    {
        EndSelection(CPN_SELENDOK);
        return;
    }

    CWnd::OnKeyDown(nChar, nRepCnt, nFlags);
}


#ifndef _WIN32_WCE

//
// Windows CE does not support these messages
// The Popup creation method is different (see CColourPicker)
//

// auto-deletion
void CColourPopup::OnNcDestroy() 
{
    CWnd::OnNcDestroy();
    delete this;
}


// KillFocus problem fix suggested by Paul Wilkerson.
void CColourPopup::OnActivateApp(BOOL bActive, HTASK hTask) 
{
	CWnd::OnActivateApp(bActive, hTask);

	// If Deactivating App, cancel this selection
	if (!bActive)
		 EndSelection(CPN_SELENDCANCEL);
}


#endif


void CColourPopup::OnPaint() 
{
    CPaintDC dc(this); // device context for painting

    // Draw the Default Area text
    if (m_strDefaultText.GetLength())
        DrawCell(&dc, DEFAULT_BOX_VALUE);
 
    // Draw colour cells
    for (int i = 0; i < m_nNumColours; i++)
        DrawCell(&dc, i);
    
    // Draw custom text
    if (m_strCustomText.GetLength())
        DrawCell(&dc, CUSTOM_BOX_VALUE);

    // Draw raised window edge (ex-window style WS_EX_WINDOWEDGE is sposed to do this,
    // but for some reason isn't
    CRect rect;
    GetClientRect(rect);
    dc.DrawEdge(rect, EDGE_RAISED, BF_RECT);
}


#ifdef _WIN32_WCE


// CColourPopup::OnLButtonDown
//
//		Use this message instead of WM_MOUSEMOVE to start the selection
//		Note that the code is the same as the desktop version 
//		(if it ain't broken, don't fix it)
//
void CColourPopup::OnLButtonDown(UINT nFlags, CPoint point)
{
    int nNewSelection = INVALID_COLOUR;

    // Translate points to be relative raised window edge
    point.x -= m_nMargin;
    point.y -= m_nMargin;

    // First check we aren't in text box
    if (m_strCustomText.GetLength() && m_CustomTextRect.PtInRect(point))
        nNewSelection = CUSTOM_BOX_VALUE;
    else if (m_strDefaultText.GetLength() && m_DefaultTextRect.PtInRect(point))
        nNewSelection = DEFAULT_BOX_VALUE;
    else
    {
        // Take into account text box
        if (m_strDefaultText.GetLength()) 
            point.y -= m_DefaultTextRect.Height();  

        // Get the row and column
        nNewSelection = GetIndex(point.y / m_nBoxSize, point.x / m_nBoxSize);

        // In range? If not, default and exit
        if (nNewSelection < 0 || nNewSelection >= m_nNumColours)
        {
            CWnd::OnLButtonDown(nFlags, point);
            return;
        }
    }

    // OK - we have the row and column of the current selection (may be CUSTOM_BOX_VALUE)
    // Has the row/col selection changed? If yes, then redraw old and new cells.
    if (nNewSelection != m_nCurrentSel)
        ChangeSelection(nNewSelection);

    CWnd::OnLButtonDown(nFlags, point);
}

#else


void CColourPopup::OnMouseMove(UINT nFlags, CPoint point) 
{
    int nNewSelection = INVALID_COLOUR;

    // Translate points to be relative raised window edge
    point.x -= m_nMargin;
    point.y -= m_nMargin;

    // First check we aren't in text box
    if (m_strCustomText.GetLength() && m_CustomTextRect.PtInRect(point))
        nNewSelection = CUSTOM_BOX_VALUE;
    else if (m_strDefaultText.GetLength() && m_DefaultTextRect.PtInRect(point))
        nNewSelection = DEFAULT_BOX_VALUE;
    else
    {
        // Take into account text box
        if (m_strDefaultText.GetLength()) 
            point.y -= m_DefaultTextRect.Height();  

        // Get the row and column
        nNewSelection = GetIndex(point.y / m_nBoxSize, point.x / m_nBoxSize);

        // In range? If not, default and exit
        if (nNewSelection < 0 || nNewSelection >= m_nNumColours)
        {
            CWnd::OnMouseMove(nFlags, point);
            return;
        }
    }

    // OK - we have the row and column of the current selection (may be CUSTOM_BOX_VALUE)
    // Has the row/col selection changed? If yes, then redraw old and new cells.
    if (nNewSelection != m_nCurrentSel)
        ChangeSelection(nNewSelection);

    CWnd::OnMouseMove(nFlags, point);
}

#endif


// End selection on LButtonUp
void CColourPopup::OnLButtonUp(UINT nFlags, CPoint point) 
{    
    CWnd::OnLButtonUp(nFlags, point);

    DWORD pos = GetMessagePos();
    point = CPoint(LOWORD(pos), HIWORD(pos));

    if (m_WindowRect.PtInRect(point))
        EndSelection(CPN_SELENDOK);
    else
        EndSelection(CPN_SELENDCANCEL);
}

/////////////////////////////////////////////////////////////////////////////
// CColourPopup implementation

int CColourPopup::GetIndex(int row, int col) const
{ 
    if ((row == CUSTOM_BOX_VALUE || col == CUSTOM_BOX_VALUE) && m_strCustomText.GetLength())
        return CUSTOM_BOX_VALUE;
    else if ((row == DEFAULT_BOX_VALUE || col == DEFAULT_BOX_VALUE) && m_strDefaultText.GetLength())
        return DEFAULT_BOX_VALUE;
    else if (row < 0 || col < 0 || row >= m_nNumRows || col >= m_nNumColumns)
        return INVALID_COLOUR;
    else
    {
        if (row*m_nNumColumns + col >= m_nNumColours)
            return INVALID_COLOUR;
        else
            return row*m_nNumColumns + col;
    }
}

int CColourPopup::GetRow(int nIndex) const               
{ 
    if (nIndex == CUSTOM_BOX_VALUE && m_strCustomText.GetLength())
        return CUSTOM_BOX_VALUE;
    else if (nIndex == DEFAULT_BOX_VALUE && m_strDefaultText.GetLength())
        return DEFAULT_BOX_VALUE;
    else if (nIndex < 0 || nIndex >= m_nNumColours)
        return INVALID_COLOUR;
    else
        return nIndex / m_nNumColumns; 
}

int CColourPopup::GetColumn(int nIndex) const            
{ 
    if (nIndex == CUSTOM_BOX_VALUE && m_strCustomText.GetLength())
        return CUSTOM_BOX_VALUE;
    else if (nIndex == DEFAULT_BOX_VALUE && m_strDefaultText.GetLength())
        return DEFAULT_BOX_VALUE;
    else if (nIndex < 0 || nIndex >= m_nNumColours)
        return INVALID_COLOUR;
    else
        return nIndex % m_nNumColumns; 
}

void CColourPopup::FindCellFromColour(COLORREF crColour)
{
    if (crColour == CLR_DEFAULT && m_strDefaultText.GetLength())
    {
        m_nChosenColourSel = DEFAULT_BOX_VALUE;
        return;
    }

    for (int i = 0; i < m_nNumColours; i++)
    {
        if (GetColour(i) == crColour)
        {
            m_nChosenColourSel = i;
            return;
        }
    }

    if (m_strCustomText.GetLength())
        m_nChosenColourSel = CUSTOM_BOX_VALUE;
    else
        m_nChosenColourSel = INVALID_COLOUR;
}

// Gets the dimensions of the colour cell given by (row,col)
BOOL CColourPopup::GetCellRect(int nIndex, const LPRECT& rect)
{
    if (nIndex == CUSTOM_BOX_VALUE)
    {
        ::SetRect(rect, 
                  m_CustomTextRect.left,  m_CustomTextRect.top,
                  m_CustomTextRect.right, m_CustomTextRect.bottom);
        return TRUE;
    }
    else if (nIndex == DEFAULT_BOX_VALUE)
    {
        ::SetRect(rect, 
                  m_DefaultTextRect.left,  m_DefaultTextRect.top,
                  m_DefaultTextRect.right, m_DefaultTextRect.bottom);
        return TRUE;
    }

    if (nIndex < 0 || nIndex >= m_nNumColours)
        return FALSE;

    rect->left = GetColumn(nIndex) * m_nBoxSize + m_nMargin;
    rect->top  = GetRow(nIndex) * m_nBoxSize + m_nMargin;

    // Move everything down if we are displaying a default text area
    if (m_strDefaultText.GetLength()) 
        rect->top += (m_nMargin + m_DefaultTextRect.Height());

    rect->right = rect->left + m_nBoxSize;
    rect->bottom = rect->top + m_nBoxSize;

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美经典一区二区| 国产精品18久久久久久vr| 成人午夜精品一区二区三区| 91精品国产综合久久精品性色| 久久久综合激的五月天| 亚洲制服欧美中文字幕中文字幕| 99re这里都是精品| 国产精品色在线观看| 99久久久精品| 久久亚洲一区二区三区明星换脸| 亚洲妇女屁股眼交7| 色综合久久久网| 亚洲综合视频在线观看| 色一区在线观看| 1024国产精品| 在线观看亚洲一区| 美国精品在线观看| 2023国产一二三区日本精品2022| 国产在线观看免费一区| 中日韩av电影| 欧美亚洲一区二区在线| 日韩成人一区二区三区在线观看| 欧美一区二区美女| 国产精品主播直播| 一区二区免费在线| 日韩美一区二区三区| 91在线视频免费观看| 亚洲国产视频a| 久久亚洲精品国产精品紫薇| 95精品视频在线| 久久福利视频一区二区| 国产精品国产三级国产普通话99| 欧美亚洲图片小说| 国产成人a级片| 免费观看日韩av| 一区二区三区四区高清精品免费观看 | 精品一区二区三区的国产在线播放 | 日韩av一区二区在线影视| 久久久久综合网| 欧美美女bb生活片| 99久久99久久精品免费看蜜桃| 久久se这里有精品| 五月天一区二区三区| 亚洲国产sm捆绑调教视频 | 欧美mv日韩mv| 欧美理论电影在线| 欧洲精品中文字幕| 91亚洲精华国产精华精华液| 国产91丝袜在线观看| 极品少妇一区二区| 狠狠色综合播放一区二区| 全部av―极品视觉盛宴亚洲| 亚洲综合999| 亚洲123区在线观看| 亚洲福中文字幕伊人影院| 亚洲成年人网站在线观看| 五月天中文字幕一区二区| 日韩二区在线观看| 久久精品国产秦先生| 国产精品一区免费视频| 国产不卡视频在线播放| 91视频一区二区三区| 欧洲另类一二三四区| 4438成人网| 中文字幕欧美激情一区| 夜夜嗨av一区二区三区网页| 亚洲大型综合色站| 激情综合色播激情啊| eeuss鲁片一区二区三区| 色一情一乱一乱一91av| 欧美巨大另类极品videosbest| 日韩欧美一区电影| 国产精品久久久久久久久免费丝袜| 1区2区3区国产精品| 免费在线观看日韩欧美| 午夜欧美一区二区三区在线播放| 欧洲精品中文字幕| 一本到不卡免费一区二区| 国产v综合v亚洲欧| 欧美精品日韩综合在线| 欧美韩日一区二区三区| 日韩av成人高清| 99精品国产一区二区三区不卡| 欧美日韩1区2区| 色综合天天综合网国产成人综合天 | 中文字幕高清一区| 天堂成人国产精品一区| 日本韩国精品一区二区在线观看| 日韩欧美一级在线播放| 一区二区三区日韩欧美精品| 激情综合一区二区三区| 欧美丰满高潮xxxx喷水动漫| 亚洲精品国产一区二区三区四区在线| 美女脱光内衣内裤视频久久网站 | 91视频国产观看| 中文字幕一区不卡| 国产精品亚洲成人| 久久只精品国产| 国产精品一区久久久久| 久久婷婷国产综合精品青草| 麻豆久久一区二区| 日韩视频在线永久播放| 奇米亚洲午夜久久精品| 欧美成人精品福利| 精品综合久久久久久8888| 久久久久久久久久久久久夜| 国产最新精品免费| 国产欧美视频一区二区三区| 大陆成人av片| 亚洲伦在线观看| 欧美日韩高清一区二区不卡| 综合激情成人伊人| 91精品国产91热久久久做人人| 日韩精品每日更新| 久久亚洲二区三区| 91丨porny丨蝌蚪视频| 亚洲国产cao| 久久久久亚洲蜜桃| 色综合久久88色综合天天免费| 亚洲图片欧美综合| 久久你懂得1024| 欧美一a一片一级一片| 麻豆精品国产91久久久久久| 国产日产欧美一区| 欧美视频在线观看一区二区| 久久99精品久久只有精品| 亚洲精品免费在线观看| 5858s免费视频成人| av激情综合网| 美女高潮久久久| 亚洲综合免费观看高清完整版| 日韩精品资源二区在线| 色婷婷综合久久久中文字幕| 激情六月婷婷久久| 亚洲成人一二三| 国产精品国产自产拍高清av| 久久亚洲一区二区三区明星换脸 | 五月天中文字幕一区二区| 欧美高清在线视频| 精品国产乱码久久久久久免费| 91麻豆免费在线观看| 国产成人精品免费在线| 蜜桃视频在线观看一区| 亚洲一卡二卡三卡四卡五卡| 亚洲欧洲在线观看av| 中文字幕精品一区二区三区精品| 精品乱码亚洲一区二区不卡| 91麻豆精品国产91久久久更新时间| 色婷婷国产精品| 一本久道久久综合中文字幕 | 3751色影院一区二区三区| 色狠狠av一区二区三区| 色香色香欲天天天影视综合网 | 蜜臀va亚洲va欧美va天堂| 日本欧美一区二区三区| 美女视频免费一区| 奇米影视一区二区三区小说| 精品写真视频在线观看| 麻豆久久一区二区| 国产激情一区二区三区| av激情综合网| 欧美三级蜜桃2在线观看| 日韩西西人体444www| 久久婷婷综合激情| 亚洲乱码一区二区三区在线观看| 一区二区在线观看不卡| 日韩国产欧美视频| 国产一区二区三区久久久| 波多野结衣中文一区| 欧美精品三级日韩久久| 日韩欧美激情四射| 久久精品综合网| 一区二区三区国产精华| 国产一区二区三区日韩| 一本一本大道香蕉久在线精品| 这里只有精品99re| 国产精品美女一区二区三区| 丝袜美腿一区二区三区| 成人免费va视频| 555www色欧美视频| 国产精品久久久久久久午夜片 | 国产精品无圣光一区二区| 亚洲1区2区3区视频| 色综合天天综合狠狠| 日韩精品中文字幕一区二区三区 | 国产福利91精品一区| 91浏览器在线视频| 精品88久久久久88久久久| 亚洲成人av在线电影| 成年人网站91| 国产精品美女www爽爽爽| 狠狠色综合播放一区二区| 91精品国产综合久久久久久久久久 | 色嗨嗨av一区二区三区| 国产精品国产自产拍在线| 国产精一区二区三区| 中文字幕二三区不卡| 国产高清视频一区| 日韩欧美一区二区在线视频| 日韩激情在线观看|