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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.07.2013, 20:13   #11
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Stilet, делфи какой? В D7 нет событий OnMouseDown и OnMouseUp у TrackBar-а
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 24.07.2013, 22:14   #12
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Хм... Лазарус.
Если нет то можно ее описать через message метод для класса трэкбара.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.07.2013, 23:17   #13
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,926
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
[B]В D7 нет событий OnMouseDown и OnMouseUp у TrackBar-а
Ну вообще-то TTrackBar наследник TControl. Так что есть эти события. Нужен только небольшой трюк:
Код:
unit Unit89;

interface

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

type
  TForm89 = class(TForm)
    TrackBar1: TTrackBar;
    procedure MyTrackBarMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form89: TForm89;

implementation

{$R *.dfm}
type
  TMyTrackBar = class(TTrackBar);


procedure TForm89.FormCreate(Sender: TObject);
begin
  TMyTrackBar(TrackBar1).OnMouseDown:=MyTrackBarMouseDown;
end;

procedure TForm89.MyTrackBarMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  ShowMessage('MyTrackBarMouseDown');
end;

end.
И вуаля!
northener вне форума Ответить с цитированием
Старый 30.07.2013, 21:13   #14
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    TrackBar1: TTrackBar;
    procedure FormCreate(Sender: TObject);
        procedure MyTrackBarMouseup(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
    procedure TrackBar1Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
type
  TMyTrackBar = class(TTrackBar);



 procedure TForm1.MyTrackBarMouseup(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 Sleep(200);
 Form1.caption:='';
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
    TMyTrackBar(TrackBar1).OnMouseUp:=MyTrackBarMouseup;
end;

procedure TForm1.TrackBar1Change(Sender: TObject);
begin
 form1.Caption:=IntToStr(TrackBar1.Position)+'% громкость';
end;

end.
Ну вот что у меня получилось, но так как sleep мешает работе всей формы, то надо как-то выкручиваться, будут ли какие-нибудь предложения?
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 31.07.2013, 11:03   #15
Larboss
Недо
Участник клуба
 
Регистрация: 11.08.2011
Сообщений: 1,394
По умолчанию

Вывести sleep в поток или "тики" считать.
С помощью программирования можно разбогатеть и изменить мир к лучшему (с) Бьерн Страуструп
Larboss вне форума Ответить с цитированием
Старый 31.07.2013, 23:32   #16
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

А как выносить в поток?
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 01.08.2013, 01:27   #17
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,926
По умолчанию

Цитата:
Сообщение от Алексей_2012 Посмотреть сообщение
Ну вот что у меня получилось, но так как sleep мешает работе всей формы, то надо как-то выкручиваться, будут ли какие-нибудь предложения?
Ну а почему отказались от применения таймера?

P.S. Да и вообще-то регулятор громкости в WinAmp'е ведет себя несколько иначе.
northener вне форума Ответить с цитированием
Старый 01.08.2013, 02:16   #18
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,926
По умолчанию

Цитата:
Сообщение от Larboss Посмотреть сообщение
Вывести sleep в поток или "тики" считать.
Вы сам вопрос то читали? Чем может помочь вызов Sleep в доппотоке? Или как вы предлагаете считать тики?

Или вы считаете что то, что вы назвали себя "слесарь-программист" вас спасёт от критики?
northener вне форума Ответить с цитированием
Старый 01.08.2013, 02:30   #19
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Цитата:
Ну а почему отказались от применения таймера?
ну во первых мне не ясен алгоритм работы кода, а во вторых таймеров итак много будет))

Цитата:
P.S. Да и вообще-то регулятор громкости в WinAmp'е ведет себя несколько иначе.
Ну я не фанат винампа, поэтому пытаюсь что-нибудь сделать, чтобы было как в аимпе)
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 01.08.2013, 03:02   #20
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,926
По умолчанию

Цитата:
Сообщение от Алексей_2012 Посмотреть сообщение
ну во первых мне не ясен алгоритм работы кода, а во вторых таймеров итак много будет))
Ну сказали бы сразу что вам нужен готовый код. А таймеров много не бывает.
northener вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перемещение формы за заголовок Airou C++ Builder 4 04.04.2013 03:31
Сменить заголовок формы из другой формы F1nZeR C# (си шарп) 4 27.08.2011 11:50
Убрать заголовок у формы tae1980 Microsoft Office Excel 2 26.01.2011 16:13
Заголовок Child формы имеет цвет неактивной формы, хотя форма активна? PrimaryPro Общие вопросы Delphi 0 12.03.2010 11:12
Как реализовать перемещение ползунка при проигрывании mp3 файла компонент mediaplayer, в нужную позицию? strannik Компоненты Delphi 5 12.12.2006 05:23