怎样使用发送消息的方式实现CListBox的AddString()方法,就像使用发送WM_SETTEXT消息可以调用CWnd的SetWindowText()那样。有这样的消息吗?如果没有怎样自定义一个消息实现上面的方法?
即:
使用::SendMessage(....)来实现AddString()...

解决方案 »

  1.   

    SendMessage(hListBox, LB_ADDSTRING, 0, (long)"ABCDEFG");
    hListBox 是CListBox的窗口句柄。
      

  2.   

    (long)"ABCDEFG" 这样的写法是什么意思?
    把一个字符串转换成LONG类型吗?不解!
    能给我讲解一下SendMessage的调用原理吗?
      

  3.   

    LB_ADDSTRING 消息的第二个参数是一个字符串的指针,但是API函数要求最后一个参数的类型为long,所以做一下强制类型转换。这样也可以啊:
    char buf[25];
    strcpy(buf, "ABCDEFG");
    SendMessage(hListBox, LB_ADDSTRING, 0, (long)buf);
      

  4.   

    SendMessage(hListBox, LB_ADDSTRING, 0, (LPARAM)"ABCDEFG");其余同上.