Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > прозрачный listbox


Автор: neweraser 11.9.2008, 15:49
Доброго времени суток всем! Кто знает, подскажите пожалуйста! Как это можно сделать?

Автор: Poseidon 11.9.2008, 16:04
Вместе с AlphaBlend формы...

Автор: neweraser 12.9.2008, 08:17
нет, у меня картинка на форме, да и тем более по-моему, если так сделать, то не только listbox не будет видет, но и его содержимое

Автор: Poseidon 12.9.2008, 08:29
Так, а теперь ты взял и конкретно описал что тебе надо. А то тут тебе сейчас наподсказывают, а потом "всплывут" замечательные подробности, и окажется что вообще под Win98.

Добавлено через 34 секунды
В любом случае ты не сделаешь ListBox прозрачным, а его содержимое - нет.

Автор: pseud 12.9.2008, 09:19
Poseidon, терпение, терпение и еще раз терепение. По делу, конечно, наехал. Но зачем так грубо. Ты хочешь, чтоб люди боялись задавать вопросы?

Автор: neweraser 12.9.2008, 12:19
короче, вот 
http://ipicture.ru/
нужно чтоб, синий фон был вместо серого листбокса, и желательно без границ...

Автор: BaD_SeCt0R 12.9.2008, 12:39
neweraser, может проще рисовать текст листбокса на канве формы?

Автор: neweraser 12.9.2008, 12:40
Цитата(BaD_SeCt0R @  12.9.2008,  12:39 Найти цитируемый пост)
 может проще рисовать текст листбокса на канве формы?

может проще, но я не знаю как  smile 

Автор: Poseidon 12.9.2008, 12:49
Код

Form1.Canvas.TextOut(0,0,'Text1');

Автор: neweraser 12.9.2008, 12:54
можно пояснить?

Добавлено через 3 минуты и 31 секунду
не, не пойдет, нужен именно listbox или какой-нибудь список, потому что он будет заполнятся постоянно по-разному

Автор: ama_kid 12.9.2008, 15:06
Цитата(neweraser @  12.9.2008,  13:54 Найти цитируемый пост)
нужен именно listbox
http://delphiworld.narod.ru/base/lb_transparent.html. Навскидку проверил - вроде работает...

Автор: pseud 12.9.2008, 15:28
Цитата(ama_kid @  12.9.2008,  15:06 Найти цитируемый пост)
Навскидку проверил - вроде работает...


супер, +3, правда работает при наличии минимум 1 строки.

Автор: neweraser 12.9.2008, 15:33
спасибо, я до этого это уже видел, искал что-нибудь попроще...
чтож, если нет ничего другого - буду в этом разбираться
еще раз спасибо всем

Добавлено через 9 минут и 26 секунд
Цитата(pseud @  12.9.2008,  15:28 Найти цитируемый пост)
 правда работает при наличии минимум 1 строки.

а у меня вообще не работает, даже не устанавливается компонент

Автор: pseud 12.9.2008, 16:02
Цитата(neweraser @  12.9.2008,  15:33 Найти цитируемый пост)
а у меня вообще не работает, даже не устанавливается компонент


это уже совсем другая тема, называется "как установить компонент"

Автор: ama_kid 12.9.2008, 16:52
Цитата(neweraser @  12.9.2008,  16:33 Найти цитируемый пост)
даже не устанавливается компонент 
А ты его не устанавливая юзай  smile Создавай динамически...

Автор: neweraser 15.9.2008, 08:28
Цитата(ama_kid @  12.9.2008,  16:52 Найти цитируемый пост)
Создавай динамически...

а как?

Цитата(pseud @  12.9.2008,  16:02 Найти цитируемый пост)
это уже совсем другая тема, называется "как установить компонент"

как устанавливать я примерно знаю, но он не компилируется...  smile 

Автор: Poseidon 15.9.2008, 08:36
neweraser, оба твои вопроса - "это уже совсем другая темы", при чем неоднократно обсуждаемая на форуме. Пройдись поиском, не ленись.

Автор: neweraser 15.9.2008, 14:03
посмотрел по темам, но так ничего и не нашел, там только две из 5 или 6 тем решены, но нигде так и не увидел насчет как создавать динамически...
потом сам пытался установить:
file -> new -> component, там указал в каком пакете он будет, еще что-то и путь - не помогло
component -> install component - тоже не помогло
он или не устанавливается, или ставится, например поставил в sample (до этого в ancestor type (вообще не представляю что это такое) указал TListBox(StdCtr)) - поставилось, но на форму не ставится - пишет ошибку...
короче через раз ошибки или ставится, но криво  smile 

Автор: Frees 15.9.2008, 14:12
Код

VAR 
T: TTransparentListBox
....
T := TTransparentListBox.create(self);
with t do
begin
  parent := panel1;//панель где он тебе нужен
  top := 10;
  left := 10;
  hight := 100;
  width := 100;
end;


b все

Автор: neweraser 15.9.2008, 14:25
Цитата(Frees @  15.9.2008,  14:12 Найти цитируемый пост)
T: TTransparentListBox

на этой строчке ошибка: undeclared identifier - значит неправильно установил компонент?

Автор: ama_kid 15.9.2008, 14:30
Цитата(neweraser @  15.9.2008,  15:25 Найти цитируемый пост)
на этой строчке ошибка: undeclared identifier - значит неправильно установил компонент? 
добавь в uses тот модуль, где у тебя этот TTransparentListBox лежит

Автор: neweraser 15.9.2008, 15:26
тут оказывается можно двумя способами:
как посоветовал ama_kid использовать этот юнит в своем проекте
и, если устанавливать компонент, он ставится (просто нужно и в первом и втором способах удалить очень много лишних строчек), но не работает, поэтому буду делать первым, на чистой форме получилось, сейчас буду как-нибудь вставлять в свой проект
всем спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)