1、新建基於mfc對話方塊的工程:mylist
2、在工程中新增基於clistctrl的新類mylistctrl
3、在對話方塊中新增listcontrl控制項,開啟 class wizard,新增控制項對應變數m_mylist,繼承自mylistctrl類;在mylist.h中新增標頭檔案:mylistctrl.h
4、在mylistctrl.h中新增函式宣告:
// operations
public:
//對listcontrol控制項中各項的比較函式
static int callback compare(lparam lparam1, lparam lparam2, lparam lparamsort);
// overrides
// classwizard generated virtual function overrides
//}afx_virtual
5、在mylistctrl.cpp中新增訊息對映、函式實現:
begin_message_map(mylistctrl, clistctrl)
//}afx_msg_map
end_message_map()
//////
//////
//////
//////
//////
//////
//////
//////
//////
//////
//////
//////
/////
// mylistctrl message handlers
int callback mylistctrl::compare(lparam lparam1, lparam lparam2, lparam lparamsort)
void mylistctrl::oncolumnclick(nmhdr *pnmhdr, lresult *presult)
6、將列表控制項風格選擇為「報表」,在oninitdialog中新增對列表控制項的初始化
m_mylist.insertcolumn(0, "字母", lvcfmt_center, 60, 0);
m_mylist.insertcolumn(1, "數字", lvcfmt_center, 60, 0);
m_mylist.insertitem(0, "0");
m_mylist.setitemtext(0, 0, "a");
m_mylist.setitemtext(0, 1, "1");
m_mylist.insertitem(1, "1");
m_mylist.setitemtext(1, 0, "b");
m_mylist.setitemtext(1, 1, "2");
m_mylist.insertitem(2, "2");
m_mylist.setitemtext(2, 0, "c");
m_mylist.setitemtext(2, 1, "3");
利用TreeMap對map進行排序
treemap是可以根據鍵對map進行排序的,注意 是根據鍵。一般來講,鍵可以使integer或者是string,但是也可以是物件,但是該物件的實現類必須實現comparable介面。class mycompare implements comparable override public stri...
利用sort對結構體進行排序
我定義了乙個學生型別的結構體來演示sort排序對結構體排序的用法 具體用法看 include include include sort函式包含的標頭檔案 using namespace std 定義乙個學生型別的結構體 typedef struct student student 這是函式是sort...
利用插入排序對鍊錶進行排序
下圖是對 4 15 9 1插入排序的舉例 當if p.val p.next.val 當不滿足條件時 q p.next p.next q.next 這時候,需要把q節點放到p節點之前的合適位置,即 while r.next.val q.val 當條件滿足時 r後移,當不滿足時表示,找到比q節點大的數,...