用SetWindowPos製作逃跑按鈕

步驟:
    (1)創建基於對話框的單文檔應用程序,在對話框上新建一個按鈕。
    (2)爲按鈕添加一個以CButton的父類的CTestBtn類,併爲CTestBtn添加WM_MOUSEMOVE消息處理函數,用來接收當鼠標滑過Button的消息。
    (3)在WM_MOUSEMOVE的消息處理函數中,用GetWindowRect來得到Button的當前位置的信息。
    (4)由於GetWindowRect返回的是屏幕座標,所以用ScreenToClient將座標轉化到客戶區座標。然後在調用SetWindowPos或者MoveWindow將按鈕設置到新的位置。
BOOL SetWindowPos ( const CWnd* pWndInsertAfter, int x, int y, int cx, int cy, UINT nFlags );
void GetWindowRect( LPRECT lpRect ) const;
void MoveWindow ( int x, int y, int nWidth, int nHeight, BOOL bRepaint = TRUE );

總結:目前沒有製作成功,原因也沒有查到,能瞭解到的是在屬於對話框的控件能通過GetParent()來得到對話框的指針,從而來實現對對話框的訪問。
如果,各位發現了我在製作過程中有什麼地方不對,請大家指出,小弟不勝感激。

發佈了31 篇原創文章 · 獲贊 1 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章