Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.09.2008, 13:23   #1
Sanek777
Заблокирован
Пользователь
 
Регистрация: 31.07.2008
Сообщений: 90
Восклицание Как сделать регулятор прозрачности?

Как сделать регулятор прозрачности через компонент Progress Bar? Например как регулятор громкости в VideoLan! И еще можно вопрос, как делать проресс бары как у винды ну в копировании удалениее и где их можно достать для Borland Development Studio 2006?
Sanek777 вне форума Ответить с цитированием
Старый 11.09.2008, 14:00   #2
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Вообще то есть api дающие возможность получать элементы оформления виндовс. В delphi7 это themes.pas. Дальше как обычное окошко делаем... и кстати не каждый знает что такое VideoLan, я например незнаю, и понять "регулятор прозрачности" не могу.
BOBAH13 вне форума Ответить с цитированием
Старый 11.09.2008, 15:11   #3
DM_bite
Участник клуба
 
Аватар для DM_bite
 
Регистрация: 29.07.2008
Сообщений: 1,091
По умолчанию

Цитата:
Как сделать регулятор прозрачности через компонент Progress Bar?
А причем тут ProgressBar? Для этих нужд есть TrackBar и что такое VideoLan?
Кто бы ты ни был - не думай о себе слишком (с)
DM_bite вне форума Ответить с цитированием
Старый 11.09.2008, 18:23   #4
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
Сообщение

Цитата:
Сообщение от DM_bite Посмотреть сообщение
А причем тут ProgressBar? Для этих нужд есть TrackBar и что такое VideoLan?

VLC:
Цитата:
VLC media player 0.8.6c - Медиаплеер с возможностью применения его в качестве сервера для передачи потокового видео по локальной сети - VLC (VideoLAN) может транслировать файлы с жесткого диска, DVD-плеера или выхода видеокарты. Поддерживается работа с большинством аудио- и видеоформатов, включая DVD, VCD, MPEG, DivX и потоковые (Nullsoft Streaming Video (.nsv) и Real Media (.rm)).
Естественно, VLC media player можно использовать и как обыкновенный медиаплеер.
Одной из особенностей программы является то, что для воспроизведения файлов мультимедиа не требуется установка дополнительных кодеков, т.к. они уже "встроены" в программу.
Кроме этого, VLC может не только воспроизводить, но и записывать потоковое аудио/видео на компьютер.
Наконец, VLC является единственным на сегодняшний день плеером, который без проблем справляется с "битыми" файлами.

Автор:Videolan
Распространение:Free
Рус. язык:Есть
Размер:14 М.Байт
ОС:XP/2K3/Vista
Alter вне форума Ответить с цитированием
Старый 23.09.2008, 17:28   #5
Dr.Badnezz
Ученик
Форумчанин
 
Регистрация: 19.09.2008
Сообщений: 119
По умолчанию

Попробуй лучше через Трекбар
form1.AlphaBlendValue:=trackbar1.Po sition;
Dr.Badnezz вне форума Ответить с цитированием
Старый 23.09.2008, 23:23   #6
Vovandows
Пользователь
 
Аватар для Vovandows
 
Регистрация: 22.09.2008
Сообщений: 11
По умолчанию Я зделал вот так, думаю поможет

Прикрепил исходники, там все ясно.
Вложения
Тип файла: zip Прозрачность_для_Sanek777.zip (199.7 Кб, 39 просмотров)
Vovandows вне форума Ответить с цитированием
Старый 23.09.2008, 23:25   #7
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
Стрелка

Всё таки решил сделать.
Вот код:
Код:
unit Proto;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    TBar1: TTrackBar;
    PBar1: TProgressBar;
    procedure PBar1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure PBar1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure PBar1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
  private
    { Private declarations }
  public
   Dow :Boolean;
   Function DrawPos(Prg :TProgressBar; X :Integer):Integer;//установка позиции
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

Function TForm1.DrawPos(Prg :TProgressBar; X :Integer):Integer;
Var Ps :Integer;
    Pt :TPoint;
    Stp_Siz :Real; //Соотношение длины к максимумe
begin //установка позиции прогресса
 If X<=0 then
  Result := 0;
 If Prg=Nil then Exit;
 If (X>=0)And(X<=Prg.Width-1) then
 Begin
   Stp_Siz := (Prg.Width-1.8)/Prg.Max; 
  Ps := Round(X/Stp_Siz);
  Prg.Position := Ps;
   Result := Ps;
   // Hint
  Prg.Hint := Format('Позиция: %d', [Ps]);
  GetCursorPos(Pt);
  Application.ActivateHint(Pt);
 end;
end;

procedure TForm1.PBar1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin //
 Dow := True;
end;

procedure TForm1.PBar1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin //
 Dow := False;
end;

procedure TForm1.PBar1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
Var Buf :Integer;  
begin //
 If Dow then
 begin
  Buf := DrawPos(PBar1, X);
   TBar1.Position := Buf; //-DEL-
   Edit1.Text := IntToStr(Buf); //-DEL-
 end;

end;

end.
Используйте функцию:
Код:
Function TForm1.DrawPos(Prg :TProgressBar; X :Integer):Integer;
Var Ps :Integer;
    Pt :TPoint;
    Stp_Siz :Real; //Соотношение длины к максимумe
begin //установка позиции прогресса
 If X<=0 then
  Result := 0;
 If Prg=Nil then Exit;
 If (X>=0)And(X<=Prg.Width-1) then
 Begin
   Stp_Siz := (Prg.Width-1.8)/Prg.Max; 
  Ps := Round(X/Stp_Siz);
  Prg.Position := Ps;
   Result := Ps;
   // сам Hint
  Prg.Hint := Format('Позиция: %d', [Ps]);
  GetCursorPos(Pt);
  Application.ActivateHint(Pt);
 end;
end;
2 Vovandows: у вас при изменении размера прогресса будет нарушена правильность работы, мой код переваривает любую длину прогресса.
___________________________________ _________________________
я могу расчитывать на плюсик?
Вложения
Тип файла: rar ProgresBar как TrackBar.rar (5.8 Кб, 33 просмотров)

Последний раз редактировалось Alter; 23.09.2008 в 23:33. Причина: прикрепил архив
Alter вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
регулятор громкости KillbrumX Помощь студентам 2 03.02.2008 18:32
Организация прозрачности элементов в Delphi Vovnder Помощь студентам 4 26.11.2007 18:30
регулятор aljkerh Общие вопросы Delphi 10 15.11.2007 08:09
Про глюк прозрачности! Marsik Помощь студентам 15 08.11.2007 13:33