隨筆 - 6  文章 - 129  trackbacks - 0
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(14)

          隨筆檔案(6)

          文章分類(467)

          文章檔案(423)

          相冊

          收藏夾(18)

          JAVA

          搜索

          •  

          積分與排名

          • 積分 - 827218
          • 排名 - 49

          最新評論

          閱讀排行榜

          評論排行榜

          DelphiTListBox組件會自動添加一 個垂直滾動條,即當(dāng)列表框的高度容納不下所有的列表?xiàng)l目時,垂直滾動條就自動顯示。但是,當(dāng)條目的寬度大于列表框的寬度時,水平滾動條不會自動顯示。當(dāng)然, 可以在列表框中加如水平滾動條,方法是在窗體的OnCreate事件處理程序中加入如下代碼:

          procedure TForm1.FormCreate(Sender: TObject);

          var

            i, MaxWidth: integer;

          begin

            MaxWidth := 0;

            for i := 0 to ListBox1.Items.Count - 1 do

            if MaxWidth < ListBox1.Canvas.TextWidth(ListBox1.Items.Strings[i]) then

              MaxWidth := ListBox1.Canvas.TextWidth(ListBox1.Items.Strings[i]);

            SendMessage(ListBox1.Handle, LB_SETHORIZONTALEXTENT, MaxWidth+2, 0);

          end;

          這段代碼先查找列表框中最長的條目的寬度(以象素點(diǎn)表示),然后, LB_SETHORIZONTALEXTENT消息來設(shè)置列表框的水平滾動條的寬度(以象素點(diǎn)表示),外 加兩個額外的象素。

          (出處:http://www2.delphifans.com/blog /more.asp?name=caixiaoming&id=392)



          posted on 2010-05-19 11:45 Ke 閱讀(385) 評論(0)  編輯  收藏 所屬分類: delphi
          主站蜘蛛池模板: 南澳县| 桦甸市| 乌审旗| 富源县| 西安市| 方山县| 平江县| 志丹县| 海原县| 聂拉木县| 曲周县| 定兴县| 大城县| 南安市| 诏安县| 衢州市| 出国| 拉孜县| 鹤峰县| 桦甸市| 西和县| 高雄市| 江川县| 四平市| 哈密市| 墨竹工卡县| 多伦县| 白河县| 邳州市| 思南县| 黔南| 汪清县| 东莞市| 岳普湖县| 新余市| 马山县| 泸溪县| 京山县| 浦城县| 梁山县| 淮安市|