![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Перехват нажатия кнопок pgup и pgdn формой, а не combobox [D7, WinXP]
mefodiy © (2006-09-16 10:54:00)Как перехватить нажатие кнопок pgup и pgdn формой, а не combobox?
Спасибо
sniknik (2006-09-18 11:13:00) [1]> А тут и дожидаться нечего. ...
я не про то, догадки можно какие угодно строить, пусть даже на 90% верные, я про стиль вопросов - кидают какую нибудь банальшину, и голословное заявление "не работает. почему?", причем с поддекстом (часто, но не тут, тут не так сильно прослеживается) на то, что виноват кто угодно но только не автор вопроса.
т.что я за то чтобы они это ДОКАЗЫВАЛИ, что проблема не в них самих, а в комто (иначе попросту некрасиво, борланд то ответить не может. а на подобных ламерских заявлениях коекто о дельфи в обшем суждения выносит...)
т.е. имхо, вопросы подобные этому, о том что чтото гдето не работает должны строится по схеме -
- делаю так ... в такой среде/компилятором ...
- ожидаю это ...
- получаю это ...
приблизительно конечно, главное чтобы все раскрывалось... а иначе даже рассматривать вопрос не стоит. еще раз имхо. т.к. все это создает общий несерьезный стиль сайта, который постепенно скатывается к стилю полного ламеризма.
з.ы. я бы вообще удалял(не переносил!) подобные вопросы из общих конференций... ну, не можеш/не хочеш(что чаще похоже) правильно и аргументировано задавать вопросы иди в начинающие(сам!), детский сад там, но и не надейся там на серьезное отношение(будут обьяснять прописные истины а не решать проблемы)... хочеш в общих, то будь добр соответствуй... (и еще раз имхо. это только мое личное мнение, в модерировании я его не применяю т.к. обшая политика сайта не такая...)
Юрий Зотов (2006-09-18 09:55:00) [2]> sniknik © (18.09.06 02:57) [10]
> может всетаки дожидаться от авторов "обвинений" борланда, системы,
> ets. осмысленных обьяснений/подтверждений подтверждений кодом, а не
> просто "не работает"...???
А тут и дожидаться нечего. Телепатор подсказывает, что автор пытался перехватить PgUp/PgDn в OnKeyPress. Что, естественно, не получится ни при каких KeyPreview.
Германн (2006-09-18 03:12:00) [3]Коль! Многие уже не раз проходили подобные состояния!
Есть "нормальные" темы в разных конференциях!
Но теперь есть проблема с их поиском!
Особливо для меня! Я то вообще прихожу после полуночи, в основном! И с кем мне дискутировать?
sniknik (2006-09-18 02:57:00) [4]потому что
mefodiy (16.09.06 11:13) [2]
> Само собой. Но это не помагает.
и все сразу поверили... гению программирования, пишущему настолько безупречный код, что его даже приводить не надо, сразу ясно, у него то ошибки нет... а виноват борланд. конечно, понаписал глюков назвал это VCL-ем и нам впаривает... и неважно, что у него то код как раз открыт и каждый может его проверить.
p.s. to all (старожилам в основном, однодневок то не убедиш) может всетаки дожидаться от авторов "обвинений" борланда, системы, ets. осмысленных обьяснений/подтверждений подтверждений кодом, а не просто "не работает"...???
p.p.s. просто скучно последнее время стало, ни одной нормальной/интересной проблемы, все какоето "банально-дутое" или "забесплатно-заказное".
Юрий Зотов (2006-09-18 02:28:00) [5]Зачем все это? Обычное KeyPreview - и в OnKeyDown все прекрасно перехватывается, зачем выдумывать проблемы?
Loginov Dmitry (2006-09-17 22:32:00) [6]unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TMyCombo = class(TCombobox)
protected
procedure KeyDown(var Key: Word; Shift: TShiftState); override;
end;
TCombobox = class(TMyCombo);
TForm1 = class(TForm)
ComboBox1: TComboBox;
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{ TMyCombo }
procedure TMyCombo.KeyDown(var Key: Word; Shift: TShiftState);
begin
if (Key <> VK_PRIOR) and (Key <> VK_NEXT) then
inherited
else
Form1.FormKeyDown(Form1, Key, Shift);
end;
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
Beep;
end;
end.
brother (2006-09-17 20:41:00) [7]
> TStas
не надо нам объектов :)
согласен с
> Zeqfreed © (16.09.06 11:20) [3]
> SetWindowsHookEx
TStas (2006-09-16 23:36:00) [8]ApplicationEvent такой есть, в его событии OnMessage написать if Msg.Handle = Нужный_Control.Handle ... then Handled := True вот и все.
Virgo_Style (2006-09-16 12:00:00) [9]а поподробней?
mefodiy (2006-09-16 11:58:00) [10]А попроще?
Zeqfreed (2006-09-16 11:20:00) [11]SetWindowsHookEx
mefodiy (2006-09-16 11:13:00) [12]Само собой. Но это не помагает.
Virgo_Style (2006-09-16 11:00:00) [13]KeyPreview := true; ?