Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Мастера DELPHI. Новости мира компонент, FAQ, статьи...


Информационный Канал Subscribe.Ru

Ежедневная рассылка сайта Мастера DELPHI

DELPHIMASTER.ru

Выпуск от 02.07.03 09:04

Лучшее из нашего FAQ   |x|
Как вставить растровое изображение в компонент ListBox?
Для этого необходимо установить в инспекторе объектов поле Style в lbOwnerDrawFixed, при фиксированной высоте строки, или в lbOwnerDrawVariable, при переменной, и установить собственный обработчик события для OnDrawItem. В этом обработчике и надо рисовать растровое изображение.
Пример:
Рисуются изображения размером 32*16 (размер стандартного глифа для Delphi). Очень полезно при поиске нужного изображения для кнопок!
Установить в инспекторе объектов для ListBox поле ItemHeight = 19, а поле Color = clBtnFace.

{ Загрузить список файлов в ListBox1 при нажатии на кнопку Load (например)}
procedure TForm1.bLoadClick(Sender: TObject);
VAR S : String;
begin
ListBox1.Clear; {чистим список}
S := '*.bmp'#0; {задаем шаблон}
ListBox1.Perform(LB_DIR, DDL_ReadWrite, Longint(@S[1])); {заполняем список}
end;
............

{Отобразить изображения и имена файлов в ListBox}
procedure TFo! rm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: DrawState);
VAR
Bitmap : TBitmap;
Offset : Integer;
BMPRect: TRect;
begin
WITH (Control AS TListBox).Canvas DO BEGIN
FillRect(Rect);
Bitmap := TBitmap.Create;
Bitmap.LoadFromFile(ListBox1.Items[Index]);
Offset := 0;
IF Bitmap <> NIL THEN BEGIN
BMPRect := Bounds(Rect.Left+2, Rect.Top+2,
(Rect.Bottom-Rect.Top-2)*2, Rect.Bottom-Rect.Top-2);
{StretchDraw(BMPRect, Bitmap); Можно просто нарисовать, но лучше сначала убрать фон}
BrushCopy(BMPRect,Bitmap, Bounds(0, 0, Bitmap.Width, Bitmap.Height),
Bitmap.Canvas.Pixels[0, Bitmap.Height-1]);
Offset := (Rect.Bottom-Rect.Top+1)*2;
END;
TextOut(Rect.Left+Offset, Rect.Top, ListBox1.Items[Index]);
Bitmap.Free;!
END;
end;

Данный пример работает медленно, но оптимизация, для ускорения, вызвала бы трудность в понимании общего принципа его работы.

»»» Прислать свои комментарии

Обсуждается в конференциях   |x|
У нас большой выбор статей   |x|
Серия статей. Kylix Tutorial. 2. Работа с базами данных через dbExpress. Первые шаги.
Фирма Borland в Kylix и Delphi 6 реализовала новый движок для работы с базой данных dbExpress. Данный движок предназначен для работы с серверными БД. На сегодняшний день поддерживаются MySQL, Oracle, Interbase, DB2. К сожалению, на момент выпуска Kylix он работал не со всеми версиями MySQL. В частности, он не заработал с MySQL 3.23.22-beta. За неимением Oracle и DB2 я пользовался Interbase 6, находившемся на втором диске дистрибутива...
Новинки книжного рынка   |x|
Профессиональная работа в Delphi 6 (+ дискета)
В предлагаемой вашему вниманию книге описываются нетривиальные возможности системы программирования Delphi 6. Книга является логическим продолжением двух других книг этого же автора: `Delphi 6. Учебный курс` и `Программирование баз данных в Delphi 6. Учебный курс`, вышедших ранее в издательстве `Питер`. Все три пособия дают практически полное описание интегрированной среды разработки приложений Delphi. Достаточно сложный материал изложен на примерах, что позволяет наглядно оценить возможности той или иной технологии. Все примеры снабжены подробным комментарием, а их исходные тексты вы найдете на прилагаемой к книге дискете. Книга предназначена для опытных пользователей.
Автор: Валерий Фаронов
Другие сайты о DELPHI   |x|
VCL компоненты для Delphi
VCL компоненты для Delphi с описанием на русском языке.

» Оценка сайта: 4
Опрос населения :)
Новый журнал для программистов "RSDN Magazine". Готовы ли вы подписаться на него?
»»» Да, на сколько возможно
»»» Да, на 6 месяцев
»»» Да, на 3 месяца
»»» Да, на 1 месяц
»»» Нет, не готов
»»» Не знаю
Для души

Хокку дня
какая-то птица
обмакнула крылья
в мои глаза

Афоризмы
Подарков должно быть много, причём совершенно неважно, дорогие они или... очень.

Фраза дня
И какой-то Win95 будет мне указывать, когда комп выключать?!

Дурацкие законы (информация предоставлена сайтом kurilka.com)
В Логан Каунти в штате Колорадо (США) считается преступлением целовать женщину, пока она спит.
В Коннектикуте (США) запрещается выбрасывать использованные бритвы. В этом же штате никто, кроме слепых, не может ходить с белой тростью.

И на закуску коротенький анекдот
Посетитель ресторана говорит:
- Водки не надо, я за рулем.
Через некоторое время официант приносит графин с водкой:
- Можете пить: вашу машину угнали.

Фотоприколы.
Начните день с хорошего настроения!
http://www.delphimaster.ru/cgi-bin/prikol.pl?id=3534


На этом позвольте откланяться и пожелать вам удачного дня.
Искренне ваш, Алексей (delphi@mastak.ru)

Добро пожаловать на сайт -= Мастера DELPHI =- 


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное