// 创建窗体
hWnd = CreateWindow(szWindowClass, "键盘改键", WS_OVERLAPPEDWINDOW,
      400, 100, 400, 400, NULL, NULL, hInstance, NULL);// 创建listBox
hList = CreateWindow("LISTBOX", "keys", WS_CHILD | LBS_NOTIFY, 
      40, 150, 150, 150, hWnd, (HMENU)dwLBnId, NULL, NULL);// 设置列 (问题段)
        LVCOLUMN column;
column.mask = LVCF_TEXT | LVCF_FMT | LVCF_WIDTH |LVCF_SUBITEM |LVCF_ORDER ;
column.fmt = LVCFMT_CENTER;
column.cx = 100; // 栏宽度
column.pszText = "原始键";
column.iSubItem = 0;
column.iOrder = 2;
// 添加栏
SendMessage(hList, LVM_INSERTCOLUMN, 0, (LPARAM)&column);
// 再添加栏
column.pszText = "最终键";
column.cx = 100;
SendMessage(hList, LVM_INSERTCOLUMN, 1, (LPARAM)&column);这样写为什么添加不上列呢?求指教~~~~~  不是mfc程序   要纯手写  现在很迷茫。。

解决方案 »

  1.   

    LVM_INSERTCOLUMN这是List View,不是ListBox
      

  2.   

    LB_ADDSTRINGAn application sends an LB_ADDSTRING message to add a string to a list box. If the list box does not have the LBS_SORT style, the string is added to the end of the list. Otherwise, the string is inserted into the list and the list is sorted.
      

  3.   

    hList = CreateWindow("LISTBOX", "keys", WS_CHILD | LBS_NOTIFY,  
      40, 150, 150, 150, hWnd, (HMENU)dwLBnId, NULL, NULL);
    -->
    hList = CreateWindow("SysListView32", "keys", WS_CHILD | LBS_NOTIFY,  
      40, 150, 150, 150, hWnd, (HMENU)dwLBnId, NULL, NULL);
    CListCtrl的类名好像是这个吧
      

  4.   

    这样写为什么添加不上列呢?
    ----------------------------
    ListBox 就一列
    应该是用 CListCtrl 吧
      

  5.   

    还是不对啊。。
    hList = CreateWindow("LISTBOX", "keys", WS_CHILD | LBS_NOTIFY,   
      40, 150, 150, 150, hWnd, (HMENU)dwLBnId, NULL, NULL);改成hList = CreateWindow("SysListView32", "keys", WS_CHILD | LBS_NOTIFY,   
      40, 150, 150, 150, hWnd, (HMENU)dwLBnId, NULL, NULL);依然出不来列。。连listBox也看不到了