當前位置:成語大全網 - 書法字典 - SYSLISTVIEW的使用說明32

SYSLISTVIEW的使用說明32

為了使用ListView控件,有必要初始化公共控件庫,該庫需要在程序剛啟動時調用。

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;

}