SysListView32控件

代码

Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->void InsertColumn(void)
{
    LV_COLUMN lvc;

    lvc.mask = LVCF_TEXT | LVCF_WIDTH;
    lvc.pszText = "学号";
    lvc.cx = 60;
    SendMessage(hList, LVM_INSERTCOLUMN, 0, (long)&lvc);
    lvc.pszText = "姓名";
    lvc.cx = 80;
    SendMessage(hList, LVM_INSERTCOLUMN, 1, (long)&lvc);
    lvc.pszText = "性别";
    lvc.cx = 40;
    SendMessage(hList, LVM_INSERTCOLUMN, 2, (long)&lvc);
    lvc.pszText = "年龄";
    lvc.cx = 40;
    SendMessage(hList, LVM_INSERTCOLUMN, 3, (long)&lvc);
    lvc.pszText = "出生日期";
    lvc.cx = 100;
    SendMessage(hList, LVM_INSERTCOLUMN, 4, (long)&lvc);
    lvc.pszText = "籍贯";
    lvc.cx = 150;
    SendMessage(hList, LVM_INSERTCOLUMN, 5, (long)&lvc);
    lvc.pszText = "入学时间";
    lvc.cx = 100;
    SendMessage(hList, LVM_INSERTCOLUMN, 6, (long)&lvc);
    lvc.pszText = "数学";
    lvc.cx = 40;
    SendMessage(hList, LVM_INSERTCOLUMN, 7, (long)&lvc);
    lvc.pszText = "英语";
    lvc.cx = 40;
    SendMessage(hList, LVM_INSERTCOLUMN, 8, (long)&lvc);
    lvc.pszText = "政治";
    lvc.cx = 40;
    SendMessage(hList, LVM_INSERTCOLUMN, 9, (long)&lvc);
}

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    static HINSTANCE hInst;
    HMENU hMenu;
    LV_ITEM lvi;
    int i;

    switch (message) {
        case WM_CREATE:
            hInst = ((LPCREATESTRUCT)lParam) -> hInstance;
            hMenu = GetMenu(hwnd);
            InitCommonControls();
            hList = CreateWindowEx(NULL, TEXT("SysListView32"), NULL, LVS_REPORT | WS_CHILD | WS_VISIBLE, 0, 0, 0, 0, hwnd, NULL, hInst, NULL);
            InsertColumn();
            SendMessage(hList, LVM_SETTEXTCOLOR, 0, #ffffff);
            SendMessage(hList, LVM_SETBKCOLOR, 0, #646464);
            SendMessage(hList, LVM_SETTEXTBKCOLOR, 0, #000000);
            Refresh();
            break;
        case WM_COMMAND:
            switch (LOWORD(wParam)) {
                case IDREFRESH:
                    Refresh();
                    break;
                case IDINSERT:
                    if (DialogBox(hInst, TEXT("StudInfo"), hwnd, InsertDlgProc)) InvalidateRect(hwnd, NULL, TRUE);
                    break;
                case IDEDIT:
                    lvi.iItem = SendMessage(hList, LVM_GETNEXTITEM, -1, LVNI_SELECTED);
                    if (-1 == lvi.iItem) {
                        MessageBox(hwnd, "请选择一条记录!", "Edit Info", MB_OK | MB_ICONWARNING);
                        break;
                    }
                    lvi.mask = LVIF_TEXT;
                    lvi.cchTextMax = 20;
                    for (i = 0; i < 10; ++i) {
                        lvi.iSubItem = i;
                        lvi.pszText = buf[i];
                        SendMessage(hList, LVM_GETITEM, 0, (long)&lvi);
                    }
                    if (DialogBox(hInst, TEXT("StudInfo"), hwnd, EditDlgProc)) InvalidateRect(hwnd, NULL, TRUE);
                    break;
                case IDDELETE:
                    lvi.iItem = SendMessage(hList, LVM_GETNEXTITEM, -1, LVNI_SELECTED);
                    if (-1 == lvi.iItem) {
                        MessageBox(hwnd, "请选择一条记录!", "Delete Info", MB_OK | MB_ICONWARNING);
                        break;
                    }
                    SendMessage(hList, LVM_DELETEITEM, lvi.iItem, 0);
                    lvi.mask = LVIF_TEXT;
                    lvi.iSubItem = 0;
                    lvi.pszText = buf[0];
                    lvi.cchTextMax = 20;
                    SendMessage(hList, LVM_GETITEM, 0, (long)&lvi);
                    sprintf(query, "DELETE FROM student WHERE id = %s", buf[0]);
                    ODBCConnect(hwnd);
                    ODBCQuery(query);
                    ODBCQueryEnd();
                    ODBCDisconnect(hwnd);
                    break;
                case IDEXIT:
                    SendMessage(hwnd, WM_CLOSE, 0, 0);
                    break;
                case IDABOUT:
                    MessageBox(hwnd, "Students Info Administration System Developed by anonymous", "About", MB_OK | MB_ICONINFORMATION);
            }
            break;
        case WM_SIZE:
            MoveWindow(hList, 0, 0, LOWORD(lParam), HIWORD(lParam), TRUE);
            break;
        case WM_DESTROY:
            PostQuitMessage(0);
            break;
        default:
            return DefWindowProc(hwnd, message, wParam, lParam);
    }

    return 0;
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值