<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    weidagang2046的專欄

    物格而后知致
    隨筆 - 8, 文章 - 409, 評論 - 101, 引用 - 0
    數據加載中……

    如何在改變鼠標光標時不閃爍

    ??? 微軟知識庫有一篇文章Q131991描述了三種方法來改變基于MFC應用的鼠標光標。其中一種方法是重載CWnd::PreCreateWindow()函數注冊自己的要改變鼠標指針的窗口類。這個方法對于要始終使用一個鼠標光標的應用程序很適合。

    ??? 如果在應用程序中要動態改變鼠標光標,微軟知識庫的這篇文章建議重載CWnd::OnSetCursor()來實現。但是這種方法有一個缺點,就是當設置鼠標光標及還原時都會出現令人討厭的光標閃爍。

    ??? 如果應用程序中要使用幾個不同的鼠標光標,為了不發生任何光標閃爍,本文介紹一種方法:首先按照微軟知識庫文章所說重載PreCreateWindow函數,但是不要指定要使用的鼠標光標,而是使用NULL。這樣就防止了Windows或MFC針對鼠標指針做任何操作。

    BOOL CMyView::PreCreateWindow(CREATESTRUCT& cs)
    {
    // 創建自己的窗口類,窗口不設置光標,以便根據需要進行設置?
    if (cs.lpszClass == NULL)
    cs.lpszClass = AfxRegisterWndClass(CS_DBLCLKS);
    return CScrollView::PreCreateWindow(cs);
    }

    ??? 因為窗口類沒有任何事先指定好的的鼠標指針,所以以上代碼有效地派出了光標的閃爍。(注意這段代碼創建的窗口類也沒有背景刷,所以窗口的背景色需要自己畫。為此要向函數AfxRegisterWndClass()傳遞第三個參數作為背景刷。)

    ??? 光標的閃爍是消除了,但同時光標也沒了!不用擔心。在處理鼠標事件OnMouseMove時設置光標是很容易的事情。實踐證明,如果要在應用窗口中改變鼠標指針,在OnMouseMove事件處理模塊中設置光標是最方
    便的。

    void CMyView::OnMouseMove(UINT nFlags, CPoint point)
    {
    // 設置光標表示當前的操作
    if (m_nOperation == OPERATION_1)
    ::SetCursor(AfxGetApp()->LoadStandardCursor(IDC_CROSS));
    else if (m_nOperation == OPERATION_2)
    ::SetCursor(AfxGetApp()->LoadStandardCursor( ??? ));
    else // 普通光標指針
    ::SetCursor(AfxGetApp()->LoadStandardCursor(IDC_ARROW));
    }

    盡管要做一點額外的工作,但它實現了應用中不同的鼠標指針變化,同時消除了閃爍。

    from: http://www.vckbase.com/vckbase/vckbase9/vc/nonctrls/system_30/0930003.htm

    posted on 2006-09-29 11:18 weidagang2046 閱讀(2582) 評論(0)  編輯  收藏 所屬分類: Windows

    主站蜘蛛池模板: 免费av片在线观看网站| 美女视频黄a视频全免费网站一区| 成人片黄网站色大片免费观看cn | 美女视频黄a视频全免费网站色| 四虎成人免费网站在线| 国产v亚洲v天堂a无| 成人免费毛片内射美女-百度| 亚洲成年人免费网站| 成人免费黄色网址| 学生妹亚洲一区二区| 免费高清av一区二区三区| 日韩欧美亚洲中文乱码| 免费在线观看中文字幕| 色爽黄1000部免费软件下载| 久久久久久亚洲精品不卡| 色www永久免费网站| 亚洲蜜芽在线精品一区| 无码视频免费一区二三区| 亚洲国产成人AV网站| 相泽亚洲一区中文字幕| 久久成人免费电影| 亚洲AV综合色区无码二区爱AV| 四虎成人精品一区二区免费网站| 香港经典a毛片免费观看看| 亚洲线精品一区二区三区| 99久久久国产精品免费牛牛| 亚洲AV无码乱码在线观看代蜜桃 | aa在线免费观看| 亚洲福利视频一区二区三区| 免费精品一区二区三区在线观看| fc2免费人成在线视频| 亚洲精品福利网站| 免费人成无码大片在线观看| 黄色片免费在线观看| 亚洲日韩精品无码专区加勒比☆ | 91成年人免费视频| 免费人成网站永久| 亚洲黄色在线观看网站| 免费国产成人高清视频网站| 91麻豆国产免费观看| 朝桐光亚洲专区在线中文字幕|