![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Наследник TStringGrid'a
неважно © (2006-06-12 17:04:00)
procedure TForm1.StringGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
Windows.Beep(800,50);
end;
Пищит при нажатии.
Ладно,идем дальше...Делаем наследника от TStringGrid'a
TMyGrid = class (TStringGrid)
procedure KeyDown(var Key: Word; Shift: TShiftState);override;
...
end;
...
procedure TMyGrid.KeyDown(var Key: Word; Shift: TShiftState);
begin
Windows.Beep(800,50);
inherited;
end;
Пищит только на первой букве любой ячейки. Странно!!!
Вопрос : как ловить все нажатия клавиш в наследнике?
Leonid Troyanovsky (2006-06-14 06:56:00) [1]
> неважно (13.06.06 22:44) [7]
> > http://groups.google.com/group/fido7.ru.delphi/msg/b7f75355f95bbd2b
> Это я видел...даже пользуюсь иногда ;)
Чем-чем пользуешься?
--
Regards, LVT.
неважно (2006-06-13 22:44:00) [2]2 Leonid Troyanovsky ©
> http://groups.google.com/group/fido7.ru.delphi/msg/b7f75355f95bbd2b
Это я видел...даже пользуюсь иногда ;)
З.Ы. Ладно,спасибо и на этом.
Leonid Troyanovsky (2006-06-13 19:00:00) [3]
> неважно (12.06.06 22:48) [5]
> Может я что-то делаю не так???
Не очень понятно, что именно требуется, но, то,
что пищит лишь при первом нажатии вполне понятно,
бо, после оного фокус получает окно Editor, которое и
обрабатывает дальнейшие нажатия.
Т.е., если хочется больше звуков, то требуется заменить
editor на свой, с расширенной функциональностью. См., например,
http://groups.google.com/group/fido7.ru.delphi/msg/b7f75355f95bbd2b
--
Regards, LVT.
неважно (2006-06-12 22:48:00) [4]2 2 Юрий Зотов © (12.06.06 20:44) [2]
Проверил и в D7. Результат тот же :(
Может я что-то делаю не так???
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,Grids;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
//
TMyGrid = class(TStringGrid)
procedure KeyDown(var Key: Word; Shift: TShiftState); override;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
with TMyGrid.Create(Self) do
begin
Parent:=Self;
Height:=300;
Width:=500;
Options:=Options+[goEditing];
end;
end;
{ TMyGrid }
procedure TMyGrid.KeyDown(var Key: Word; Shift: TShiftState);
begin
inherited;
Windows.Beep(800,50);
end;
end.
неважно (2006-06-12 22:01:00) [5]2 Rial © (12.06.06 19:05) [1]
Не помогло.
2 Юрий Зотов © (12.06.06 20:44) [2]
>У меня оба грида работают одинаково.
Ну и что делать? Не работает,блин. Кстати,версия как раз 5
Rial (2006-06-12 21:22:00) [6]
> Юрий Зотов © (12.06.06 20:44) [2]
>
> > Rial © (12.06.06 19:05) [1]
> У Вас какая версия Delphi?
Есть такая проблема...
D5.
> Проверил. У меня оба грида работают одинаково.
А я еще тупее поступил. Увидел то, что обычно сам не делаю,
проверил - работает. И всего то. Бесполезен - что ж, судьба такая.
Юрий Зотов (2006-06-12 20:44:00) [7]> Rial © (12.06.06 19:05) [1]
У Вас какая версия Delphi?
Впрочем, независимо от этого совет Ваш, извините, бесполезен.
> Наследник TStringGrid'a
Проверил. У меня оба грида работают одинаково.
Rial (2006-06-12 19:05:00) [8]inherited KeyDown(Key,Shift);