InitCommonControls()函數,如果有鏈接錯誤,則意味著擁有該函數的庫文件沒有鏈接,相應的
頭文件和庫DLL是# include
typedef struct _LVCOLUMN {
UINT掩碼;//定義可用於此列的類型。
int fmt//定義列格式
int cx//定義列寬(以像素為單位)
LPTSTR pszText//列內容
int cchTextMax//列內容的最大長度
int iSubItem//定義此列的序列號。
# if(_ WIN32 _ IE & gt;= 0x0300)
int iImage//指向圖像
內部;//零基列偏移量。列偏移量是從左到右。例如,0列在最左側。
# endif # if(_ WIN32 _ WINNT & gt;= 0x0600)
int cxMin//指定最小列寬
int cxDefault//默認列寬
int cxIdeal//只讀,自動將寬度調整為列寬的理想寬度。
#endif
} LVCOLUMN,* LPLVCOLUMN//結構名稱
使用方法是sendmessage(hwnd,LVM _插入列,0,(lparam)&;欄)
還有LVM _ getcolumnlvm _ setcolumnlvm _ delete column更改項,它需要結構LVITEM,其定義如下:
typedef結構{
UINT掩碼;//設置成員標誌,如格式等
項目間;//項目索引
int iSubItem//列順序已添加到
UINT狀態;//指示項目狀態,如圖片和疊加圖片。
UINT狀態掩碼;//表示狀態成員的有效位。
LPTSTR pszText//項目內容
int cchTextMax//項目的最大長度
int iImage//指向圖片索引
LPARAM lParam//特殊值。如果妳使用SORTITEM,它需要這個,或者壹些特殊的東西。
# if(_ WIN32 _ IE & gt;= 0x0300)
int iIndent//圖片寬度
#endif
# if(_ WIN32 _ WINNT & gt;= 0x0501)
int iGroupId//指向組id。
UINT列;//要顯示的列數,最多20列。
UINT puColumns//返回此項指向的列。
#endif
# if(_ WIN32 _ WINNT & gt;= 0x0600)
int piColFmt//返回列屬性。
int iGroup//項目列
#endif
} LVITEM、* LPLVITEM
用法:sendmessage(hres,LVM _ insertitem,0,(lparam)&;項);void插入列(void)
{
LV _列lvc
LVC . mask = LVCF _文本| LVCF _寬度;
Lvc.pszText =學生編號;
lvc。cx = 60
SendMessage(hList,LVM_INSERTCOLUMN,0,(long)& amp;LVC);
Lvc.pszText = name
lvc。cx = 80
SendMessage(hList,LVM_INSERTCOLUMN,1,(long)& amp;LVC);
Lvc.pszText = gender
lvc。cx = 40
SendMessage(hList,LVM_INSERTCOLUMN,2,(long)& amp;LVC);
Lvc.pszText = age
lvc。cx = 40
SendMessage(hList,LVM_INSERTCOLUMN,3,(long)& amp;LVC);
Lvc.pszText =出生日期;
lvc。CX = 100;
SendMessage(hList,LVM_INSERTCOLUMN,4,(long)& amp;LVC);
Lvc.pszText = native place
lvc。CX = 150;
SendMessage(hList,LVM_INSERTCOLUMN,5,(long)& amp;LVC);
Lvc.pszText =入場時間;
lvc。CX = 100;
SendMessage(hList,LVM_INSERTCOLUMN,6,(long)& amp;LVC);
Lvc.pszText = mathematics
lvc。cx = 40
SendMessage(hList,LVM_INSERTCOLUMN,7,(long)& amp;LVC);
Lvc.pszText = English
lvc。cx = 40
SendMessage(hList,LVM_INSERTCOLUMN,8,(long)& amp;LVC);
Lvc.pszText = politics
lvc。cx = 40
SendMessage(hList,LVM_INSERTCOLUMN,9,(long)& amp;LVC);
}
LRESULT回調WndProc(HWND HWND,UINT消息,WPARAM wParam,LPARAM lParam)
{
靜態HINSTANCE hInst
HMENU hMenu
LV _ ITEM lvi
int I;
開關(消息){
案例WM_CREATE:
hInst =((LPCREATESTRUCT)lParam)-& gt;hInstance
hme nu = get menu(hwnd);
InitCommonControls();
hList = CreateWindowEx(NULL,TEXT(syslistview 32),NULL,LVS報告| WS_CHILD | WS_VISIBLE,0,0,0,0,hwnd,NULL,hInst,NULL);
insert column();
SendMessage(hList,LVM_SETTEXTCOLOR,0,# ffffff);
SendMessage(hList,LVM_SETBKCOLOR,0,# 646464);
SendMessage(hList,LVM_SETTEXTBKCOLOR,0,# 000000);
refresh();
打破;
案例WM_COMMAND:
開關(低字(wParam)){
案例id刷新:
refresh();
打破;
案例id插入:
if(dialog box(hInst,TEXT(studio info),hwnd,InsertDlgProc))invalidate estar(hwnd,NULL,TRUE);
打破;
案例id編輯:
lvi。iiitem = SendMessage(hList,LVM_GETNEXTITEM,-1,LVNI _ SELECTED);
if(-1 = = lvi。iitem ){
消息框(hwnd,請選擇壹條記錄!,Edit Info,MB _ OK | MB _ icon warning);
打破;
}
lvi.mask = LVIF _ TEXT
lvi.cchTextMax = 20
for(I = 0;我& lt10;++i) {
lvi。isubitem = I;
lvi . psztext = buf【I】;
SendMessage(hList,LVM_GETITEM,0,(long)& amp;lvi);
}
if(dialog box(hInst,TEXT(studio info),hwnd,EditDlgProc))invalidator(hwnd,NULL,TRUE);
打破;
案例id刪除:
lvi。iiitem = SendMessage(hList,LVM_GETNEXTITEM,-1,LVNI _ SELECTED);
if(-1 = = lvi。iitem ){
消息框(hwnd,請選擇壹條記錄!,Delete Info,MB _ OK | MB _ icon warning);
打破;
}
SendMessage(hList,LVM _刪除項,lvi.iItem,0);
lvi.mask = LVIF _ TEXT
lvi。isubitem = 0;
lvi . psztext = buf【0】;
lvi.cchTextMax = 20
SendMessage(hList,LVM_GETITEM,0,(long)& amp;lvi);
sprintf(query,DELETE FROM student WHERE id = %s,buf【0】);
odbc connect(hwnd);
ODBCQuery(查詢);
ODBCQueryEnd();
odbc disconnect(hwnd);
打破;
案例id退出:
SendMessage(hwnd,WM_CLOSE,0,0);
打破;
案例id關於:
MessageBox(hwnd,由anonymous,About,MB_OK | MB_ICONINFORMATION開發的學生信息管理系統);
}
打破;
案例WM_SIZE:
move window(hList,0,0,LOWORD(lParam),hi word(lParam),TRUE);
打破;
案例WM_DESTROY:
PostQuitMessage(0);
打破;
默認值:
返回DefWindowProc(hwnd,message,wParam,lParam);
}
返回0;
}