Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.12.20;
Скачать: CL | DM;

Вниз

не работает CTRL-C !!!!   Найти похожие ветки 

 
Yozch1   (2008-12-02 15:36) [0]

Бред какой-то. при нажатии CTRL-C в onKeyDown упорно передается ssCtrl и key=17, но никак не ord(С)  (67)
проходит только вариант при нажатии еще и SHIFT тогда передается ssCtrl, ssShift и С, но это же неправильно?

Где копать, помогите, не пойму что за беда!


 
KilkennyCat ©   (2008-12-02 15:38) [1]

Может, клавиатура продвинутая, и сразу посылает команду "копировать"? :)


 
KilkennyCat ©   (2008-12-02 15:41) [2]

ладно, подскажу: посмотри код Ctrl


 
Leonid Troyanovsky ©   (2008-12-02 15:50) [3]


> Yozch1   (02.12.08 15:36)  

> но никак не ord(С)  (67)

Докажи.

--
Regards, LVT.


 
clickmaker ©   (2008-12-02 16:04) [4]

> Может, клавиатура продвинутая, и сразу посылает команду
> "копировать"? :)

китайская?
тогда она и "вставить" должна сразу посылать


 
Германн ©   (2008-12-02 16:33) [5]


> тогда она и "вставить" должна сразу посылать
>

Вот она и вставляет и посылает


 
Yozch1   (2008-12-02 17:08) [6]


> ладно, подскажу: посмотри код Ctrl

Я знаю что это за код. Мне непонятно почему именно он в Key стоит, а не код нажатой одновременно с ctrl кнопки.


 
Leonid Troyanovsky ©   (2008-12-02 18:02) [7]


> Yozch1   (02.12.08 17:08) [6]

> Key стоит, а не код нажатой одновременно с ctrl кнопки.

Это код нажатой клавиши vk_control.
За ним, очевидно, последуют коды клавиш, нажатых после того.

--
Regards, LVT.


 
KilkennyCat ©   (2008-12-02 18:05) [8]

Key равен последней нажатой клавиши.


 
stas ©   (2008-12-02 18:06) [9]

Yozch1   (02.12.08 15:36)
if (key<>17) then...


 
KilkennyCat ©   (2008-12-02 18:09) [10]

GetKeyboardState избавляет от мучений раз и навсихда


 
Leonid Troyanovsky ©   (2008-12-02 18:48) [11]


> KilkennyCat ©   (02.12.08 18:09) [10]

> GetKeyboardState избавляет от мучений раз и навсихда

А зачем ему мучения?
Проверил ssCtrl и др. при поcтуплении Ord("C") - и свободен.

--
Regards, LVT.


 
KilkennyCat ©   (2008-12-02 19:40) [12]


> Leonid Troyanovsky ©   (02.12.08 18:48) [11]


Cогласен. Но потом он захочет еще более сложную комбинацию ловить и снова будут мучения.


 
Yozch1   (2008-12-03 08:11) [13]

Если бы так просто.

Весь гимор как раз и в том и состоит, что такое не работает

   if  (key=Ord("C"))
   then
    if (ssCtrl in Shift) then
     begin
    showmessage("sdfsdfsdfd");
    (FEdit as TTntcustomEdit).CopyToClipboard;
       key := 0;
     end;

и я не могу понять причину.


 
Palladin ©   (2008-12-03 08:37) [14]

попробуй у формы (или где ты там ловишь) заменить WindowProc и препарировать - что же приходит прим WM_KEYUP или WM_KEYDOWN (или где ты там ловишь)


 
Cobalt ©   (2008-12-09 10:17) [15]

Зачем заменять WindowProc, можно WinSight"ом посмотреть.


 
Dimka Maslov ©   (2008-12-10 10:36) [16]

Господа!

Нажатие ctrl+c обрабатывается событием OnKeyPress, а не OnKeyDown. И сообщение на него приходит WM_CHAR, a не WM_KEYDOWN.

Следовательно, код надо писать так

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key = ^C then begin
 ShowMessage(" Превед робяты!");
 (FEdit as TTntcustomEdit).CopyToClipboard;
 key := #0;
end
end;


 
KilkennyCat ©   (2008-12-10 11:52) [17]


> Dimka Maslov ©   (10.12.08 10:36) [16]

> OnKeyPress, а не OnKeyDown. И сообщение на него приходит WM_CHAR, a не WM_KEYDOWN.


ну ты загнул....

Во-первых, в [11] полностью сказано КАК.
Во-вторых, утверждение [13] неверно, потому что: ord("C") необязательно даст то, что надо; учитывая [8] возможна ситуация неправильной последовательности нажимания.
В-третьих, пофиг как и где обрабатывать. Мы все умрем.



Страницы: 1 вся ветка

Текущий архив: 2009.12.20;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.014 c
2-1257079212
petaywww
2009-11-01 15:40
2009.12.20
С помощью каких компонентов легче и правильней реализовать данную


2-1257069468
stas
2009-11-01 12:57
2009.12.20
http запрос передать рефер


15-1256145675
palva
2009-10-21 21:21
2009.12.20
Неполадки в форуме?


1-1229515633
dima47
2008-12-17 15:07
2009.12.20
Защита дискет от копирования


2-1257113690
HRustBB
2009-11-02 01:14
2009.12.20
как вернуть значение переменной по указателю ?