Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Label поверх ProgressBar


Kilowatt ©   (2011-06-21 15:31:00) 

Всем привет!
У меня вопрос: можно ли сделать так что бы компонент label был виден над прогрессбаром? Хочется что бы и прогрессбар шел и видно было какие файлы копируются в данный момент. Но что бы label не закрывал прогрессбар (без фона), а только был виден текст из label.caption.
Дельфи2009


QAZ   (2011-06-22 18:35:00) [1]


> Юрий Зотов ©   (22.06.11 14:48) [16]

не, глобально,ко всему человечеству


Юрий Зотов   (2011-06-22 17:45:00) [2]


> Дмитрий С ©   (22.06.11 17:30) [17]
> не факт что текст будет виден всегда.

Почему? Если рисовать текст вместе с движком, то будет. А чего бы ему прятаться?


Дмитрий С   (2011-06-22 17:30:00) [3]

странно что никто не отговаривает. Это же глупость. Прогресс бар рисуется в соответствии с темой и не факт что текст будет виден всегда.
Имхо делай текст чуть выше бара.


Юрий Зотов   (2011-06-22 14:48:00) [4]


> QAZ   (22.06.11 14:25) [15]

Если это вопрос ко мне, то он не по адресу. Я бы вообще положил метку над прогрессбаром (как обычно и делают) и не мудрил.


QAZ   (2011-06-22 14:25:00) [5]

по вашему текст поверх зеленого\ораньжевого сегментного (в хр) прогресбара "круто" смотрица?


Юрий Зотов   (2011-06-22 12:18:00) [6]

У Конопки в книжке рассмотрен прогрессбар, в котором на шкале рисуется еще и текст. Надо сделать свой компонент по аналогии и не заморачиваться с непонятками.


sniknik   (2011-06-22 10:21:00) [7]

> у меня "бегает" D2010
а у меня нет... D7 XP схем в винде нет.
то что получается выглядит убого.


engine   (2011-06-22 03:29:00) [8]

у меня "бегает" D2010


Германн   (2011-06-22 01:48:00) [9]


> Уважаемые, помогите теперь все это слепить вместе.
> Есть такой код - прогрессбар без какого-то подсчета двигается
> постоянно:
>   Windows.SetWindowLong(ProgressBar1.Handle, GWL_STYLE,
>    Windows.GetWindowLong(Progressbar1.Handle, GWL_STYLE)
> or $08);
>    SendMessage(ProgressBar1.handle, WM_USER + 10, WPARAM(true),
>  10);
>    ProgressBar1.Visible:=true;
> Если после него или до него поставить код:
> Label1.Parent:= ProgressBar1;
> Label1.Top   := 2;
> Label1.Left  := 2;
> Label1.Transparent:= true;
> Label1.Font.Color:= clWhite-ProgressBar1.BarColor ;//clLime;
>
> Label1.bringtofront;      
>

В данном случае "слепить" означать написать полностью новый код. Я пас.


Kilowatt   (2011-06-21 21:43:00) [10]

Уважаемые, помогите теперь все это слепить вместе.
Есть такой код - прогрессбар без какого-то подсчета двигается постоянно:
  Windows.SetWindowLong(ProgressBar1.Handle, GWL_STYLE,
   Windows.GetWindowLong(Progressbar1.Handle, GWL_STYLE) or $08);
   SendMessage(ProgressBar1.handle, WM_USER + 10, WPARAM(true), 10);
   ProgressBar1.Visible:=true;

Если после него или до него поставить код:
Label1.Parent:= ProgressBar1;
Label1.Top   := 2;
Label1.Left  := 2;
Label1.Transparent:= true;
Label1.Font.Color:= clWhite-ProgressBar1.BarColor ;//clLime;
Label1.bringtofront;      

То label нормально смотрится на прогрессе, а вот прогресс перестает "бегать".
Можно ли как-то исправить это? Выяснил, что мешает именно abel1.Parent:= ProgressBar1, т.е. после удаления этой строки прогресс начинает работать, но опять же label пропадает...
Прошу помощи!


Kilowatt   (2011-06-21 17:01:00) [11]


>
> еще меньше "подойдет" у гауде цвет инверсный хоть что то
> видно, а тут никак...

гуаде какой-то каменный век. смотрится аля вин95. прогрессбар хоть на ХП и вин7 смотрится красиво


Kilowatt   (2011-06-21 17:00:00) [12]

так и тут можно инверсный сделать наверное так, хотя не пробовал. сейчас нет под рукой дельфи:
Label1.Font.Color:= clWhite-ProgressBar1.Color


sniknik   (2011-06-21 16:51:00) [13]

procedure TForm1.FormCreate(Sender: TObject);
begin
 Label1.Parent:= ProgressBar1;
 Label1.Top   := 0;
 Label1.Left  := 4;
 Label1.Transparent:= true;
 Label1.Font.Color:= clLime;
end;


еще меньше "подойдет" у гауде цвет инверсный хоть что то видно, а тут никак...


Kilowatt   (2011-06-21 16:36:00) [14]

Есть, но он мне не подходит.


sniknik   (2011-06-21 16:31:00) [15]

> Дельфи2009
а Gaude там есть?


Kilowatt   (2011-06-21 16:04:00) [16]

Почитал по ссылке

> Только если поместить графический на панель (тем самым сделать
> ему другой парент).

Т.е. как-то так: label1.parent:=progressbar1 , а потом label1 сделать bringtofront?


Игорь Шевченко   (2011-06-21 16:01:00) [17]

http://www.delphimaster.ru/cgi-bin/forum.pl?id=1308515045&n=18пост [1]


Kilowatt   (2011-06-21 16:00:00) [18]

Спасибо. Я так пробовал, но label перекрывается прогрессбаром. даже в IDE, когда ставлю label на него, то label просто становится за прогрессбаром.


Anatoly Podgoretsky   (2011-06-21 15:46:00) [19]

> Kilowatt  (21.06.2011 15:31:00)  [0]

transparent


Наверх

Титульная страница Поиск, карта сайта Написать письмо