摘要: 同学在写一个CListCtrl控件的排序方法时,CListCtrl m_wndListCtrl;//初始化控件m_wndListCtrl.Init();int CALLBACK CompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort){ //获得列表控件 CListCtrl* pListCtrl = (CListCtrl*)lParamSort; CString strItem1 = pListCtrl->GetItemText(lParam1, 0); CString strItem2 = pListCtrl-> 阅读全文
posted @ 2011-04-27 20:53 MagiCube 阅读(8813) 评论(0) 推荐(0) 编辑
摘要: AFX_WM_ON_MOVE_TAB是vs2008或以上版本中定义的新的消息类型,它的主要作用是:当用户改变一个Tabbed Window的tab标签的位置时给一个Tabbed Window的父窗口发送消息,消息响应函数原型为:afx_msg LRESULT memberFxn(WPARAM wp, LPARAM lp);其中,wparam用来表示tab标签移动前的位置坐标,lparam表示tab标签移动后的新位置坐标。响应函数的返回值为0。AFX_WM_CHANGE_ACTIVE_TAB同样也是vs2008或以上版本中定义的新的消息类型,这个消息通常是用户改变CMFCTabCtrl中的act 阅读全文
posted @ 2011-04-27 11:44 MagiCube 阅读(2492) 评论(0) 推荐(0) 编辑
摘要: on_message用于处理一切消息,但是on_registered_message只用处理在系统已经注册过的消息。 The RegisterWindowMessage function is used to define a new window message that is guaranteed to be unique throughout the system. The macro ON_REGISTERED_MESSAGE is used to handle these messages. This macro accepts a name of a UINT NEAR varia 阅读全文
posted @ 2011-04-27 10:33 MagiCube 阅读(3804) 评论(0) 推荐(0) 编辑
摘要: 首先看看定义:typedef unsigned int UINT;typedef UINT WPARAM;//就是无符号整形typedef long LONG;typedef LONG LPARAM;//就是长整形这就是所谓的wparam和lparam,从定义我们可以看出lparam比wparam要长,所以习惯上都用wparam来存储消息类型,而用lparam来存储要传递的参数,当然它的类型随着消息的不同而变化:如发送一个WM_LBUTTONDOWN消息,SendMessage针对鼠标消息中wParam和lParam参数SendMessage(Hwnd, WM_LBUTTONDOWN, wpa 阅读全文
posted @ 2011-04-27 00:29 MagiCube 阅读(1284) 评论(0) 推荐(1) 编辑
摘要: 1.在指定位置处创建一个CMFCTabCtrl,并给其添加4个CEdit, CRect rectTab; CEdit m_wnd1; CEdit m_wnd2; CEdit m_wnd3; CEdit m_wnd4; CMFCTabCtrl m_wndTab; m_wndTabLoc.GetWindowRect (&rectTab); ScreenToClient (&rectTab); m_wndTab.Create (CMFCTabCtrl::STYLE_3D, rectTab, this, 1, CMFCTabCtrl::LOCATION_TOP); m_wnd1.Cre 阅读全文
posted @ 2011-04-27 00:11 MagiCube 阅读(12421) 评论(1) 推荐(2) 编辑