На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Rouse_, jack128, Krid
  
    > Отрисовка элементов ListBox
      ExpandedWrap disabled
        unit Unit1;
         
        interface
         
        uses
          Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
          Dialogs, StdCtrls;
         
        type
          TForm1 = class(TForm)
            ListBox1: TListBox;
            Button1: TButton;
            procedure Button1Click(Sender: TObject);
            procedure ListBox1DrawItem(Control: TWinControl; Index: Integer;
              Rect: TRect; State: TOwnerDrawState);
          end;
         
        var
          Form1: TForm1;
         
        implementation
         
        {$R *.dfm}
         
        procedure TForm1.Button1Click(Sender: TObject);
        var
          S : String;
        begin
          // Очистка
          ListBox1.Clear;
          S := 'C:\Windows\*.bmp';
          // Даем команду листбоксу чтобы он нашел все картинки в папке Windows
          // и занес их имена к себе
          ListBox1.Perform(LB_DIR, DDL_READWRITE, Longint(@S[1]));
        end;
         
        procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
          Rect: TRect; State: TOwnerDrawState);
        begin
          with (Control as TListBox).Canvas do
          begin
            // очищаем прямоугольник
            FillRect(Rect);
            // В зависимости от индекса - определяем цвет
            Font.Color := clBlack;
            case Index of
              0: Font.Color := clBlue;
              1: Font.Color := clRed;
              2, 4: Font.Color := clGreen;
            end;
            // Выводим текст
            TextOut(Rect.Left, Rect.Top, Listbox1.Items[Index]);
          end;
        end;
         
        end.


      Автор ответа: Rouse_
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0148 ]   [ 16 queries used ]   [ Generated: 18.04.24, 11:56 GMT ]