用SetWindowPos制作逃跑按钮

来源:互联网 发布:sql数据库连接工具 编辑:程序博客网 时间:2024/05/02 00:38
步骤:
    (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()来得到对话框的指针,从而来实现对对话框的访问。
如果,各位发现了我在制作过程中有什么地方不对,请大家指出,小弟不胜感激。

原创粉丝点击