Показать сообщение отдельно
  #10  
Старый 06.01.2014, 04:29
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Возможное решение
1. Не используйте TButton, лучше напр. ТSpeedButton т.к. у него нет фокуса (по умолчанию Tab и стрелки переключают фокус между визуальными компонентами его имеющими)
2. Используйте процедуры Key/Mouse/Down/App у самой формы, код будет примерно такой
Код:
var flg: boolean = true;
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if Key = VK_LEFT then
  begin
   if flg then
    begin
     MediaPlayer1.FileName:='1.mp3';
     MediaPlayer1.Open;
     flg:=false;
    end;
   MediaPlayer1.Play;
  end;
end;

procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if Key = VK_LEFT then
  begin
   MediaPlayer1.Close;
   flg:=true;
  end;
 end;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 MediaPlayer1.FileName:='1.mp3';
 MediaPlayer1.Open;
 MediaPlayer1.Play;
end;

procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 MediaPlayer1.Close;
end;
выходит не нужно каждый раз открывать MCI интерфейс проигрывателя, наверное так
Ответить с цитированием