我想把数据库里面的某一字段全部显示在checklistbox1中,但是一行显示不下时。怎么不自动跳到下一行呢或者出现滚动条呢。。超过checklistbox给定的宽度就自动删除了。也就是不显示。属性里面也没有设置可以显示的。
  有什么办法啊。谁有好的解决办法。请告诉我啊。从数据库里面显示出来。必须是check框。谢谢。

解决方案 »

  1.   

    while not adoquery1.eof do
    begin
      checklistbox1.items.add(adoquery1.fields[0].asstring);
      adoquery1.next;
    end;
      

  2.   

    哈哈。被我找到了。
    SendMessage(ListBox1.Handle,LB_SetHorizontalExtent,5000, longint(0));还有其他办法吗。这个好象不能换行。只能把一行变得长5000,有没有自动可以换行的呢
      

  3.   

    1.风格设为OwnerDraw,然后在OnMeasure中用DrawText API计算折行后的文本高度赋给Height参数。在OnDrawItem中用DrawText实际画出来就行了。
    2.你可以使用一个叫TRzCheckbox的控件,有这个功能.你可以在GOOGLE上以RC3搜一下,应该有的.
      

  4.   

    procedure TForm1.CheckListBox1MouseMove(Sender: TObject;
      Shift: TShiftState; X, Y: Integer);
    begin
    //
    if CheckListBox1.ItemAtPos(point(x,y),true)<=-1 then
    exit;
     CheckListBox1.ShowHint:=true;
     CheckListBox1.Hint:=
    CheckListBox1.Items[CheckListBox1.ItemAtPos(point(x,y),true)]
    end;