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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.03.2008, 21:20   #11
-=<[Evklidd]>=-
Форумчанин Подтвердите свой е-майл
 
Аватар для -=<[Evklidd]>=-
 
Регистрация: 22.01.2008
Сообщений: 161
По умолчанию

Alexblack - спасибо, терь все работаит! Возник другой вопрос: как сделать скриншот активного в данный момент окна или окна запущенного в данный момент приложения, ну не считая самого скриншотера? Как я понимаю это связано с изменением параметра функции GetDC, которым сейчас у меня является 0, а вот каким он должен быть в этом случае?
-=<[Evklidd]>=- вне форума Ответить с цитированием
Старый 09.03.2008, 21:44   #12
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
Сообщение

Цитата:
Сообщение от GAGARIN-NEW Посмотреть сообщение
if (Key = 17) then SHOT(...);

Спасибо.Работает .
Ещё вопрос где вы узнаёте виртуальный код клавиш ??? тут например Ctrl - 17 .. итд ???
Например с помощью:
1) Создать между Begin и End слово Vk_F1, ЗАТЕМ "Нажать Ctrl"+"Левая кнопка мыши, по Vk_F1". А там будут коды всех клавишь! Наверно разберётесь.
Alter вне форума Ответить с цитированием
Старый 09.03.2008, 22:06   #13
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Цитата:
Сообщение от -=<[Evklidd]>=- Посмотреть сообщение
Alexblack - спасибо, терь все работаит! Возник другой вопрос: как сделать скриншот активного в данный момент окна или окна запущенного в данный момент приложения, ну не считая самого скриншотера? Как я понимаю это связано с изменением параметра функции GetDC, которым сейчас у меня является 0, а вот каким он должен быть в этом случае?
Вооот...

Мы и подошли к самому главному. Теперь, когда активно чужое окно, наши "горячие" клавиши, ест-но не работают. Перечитай о чем писал mihali4 (пост #7).

А в GetDC нужно передать handle окна. О том как его получить тоже неоднократно писалось.
alexBlack вне форума Ответить с цитированием
Старый 10.03.2008, 13:19   #14
andrey4623
Форумчанин
 
Аватар для andrey4623
 
Регистрация: 31.05.2007
Сообщений: 266
По умолчанию

Цитата:
Мы и подошли к самому главному. Теперь, когда активно чужое окно, наши "горячие" клавиши, ест-но не работают. Перечитай о чем писал mihali4 (пост #7).
Естественно, нажатие клавиш передается АКТИВНОЙ программе.
Чтобы перехватывать сообщения со всей системы, надо создавать DLL-библиотеку. Смотрите в поиске.
andrey4623 вне форума Ответить с цитированием
Старый 19.04.2009, 10:10   #15
kipishio
 
Регистрация: 19.04.2009
Сообщений: 3
По умолчанию

Всем привет. доскажите как сделать так чтоб в строке писались только цифры, и можно было ставить тире только в начале цифр, и чтоб можно было ставить запятую но только один раз.
kipishio вне форума Ответить с цитированием
Старый 19.04.2009, 10:24   #16
kipishio
 
Регистрация: 19.04.2009
Сообщений: 3
По умолчанию

Цитата:
Сообщение от B_N Посмотреть сообщение
Всем привет. доскажите как сделать так чтоб в строке писались только цифры, и можно было ставить тире только в начале цифр, и чтоб можно было ставить запятую но только один раз. не могу настроить праильную сортировку символов в delphi

Последний раз редактировалось kipishio; 19.04.2009 в 10:29.
kipishio вне форума Ответить с цитированием
Старый 19.04.2009, 13:59   #17
Ntlegend
Форумчанин
 
Аватар для Ntlegend
 
Регистрация: 12.05.2007
Сообщений: 373
По умолчанию

ток не пойму причом тут горячие клавиши..

Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (Key in ['-'])and((Edit1.Text='')or(Edit1.SelStart=0))
 then exit;
if not (Key in ['0'..'9']+[',']+['.']+[#8])
 then begin
  Key:=#0;
  exit;
 end;
if (pos(',', Edit1.Text)>0)and(Key=',')
 then begin
  Key:=#0;
  exit;
 end;
if (pos(',', Edit1.Text)=0)and(Key='.')
 then begin
  Key:=',';
  exit;
 end;
if not (Key in ['0'..'9']+[#8])
 then begin
  Key:=#0;
  exit;
 end;
end;
Перемен! - требуют наши сердца. Перемен! - требуют наши глаза.
В нашем смехе и в наших слезах, И в пульсации вен:
"Перемен!Мы ждем перемен!"
Ntlegend вне форума Ответить с цитированием
Старый 19.04.2009, 16:24   #18
kipishio
 
Регистрация: 19.04.2009
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Ntlegend Посмотреть сообщение
ток не пойму причом тут горячие клавиши..

Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (Key in ['-'])and((Edit1.Text='')or(Edit1.SelStart=0))
 then exit;
if not (Key in ['0'..'9']+[',']+['.']+[#8])
 then begin
  Key:=#0;
  exit;
 end;
if (pos(',', Edit1.Text)>0)and(Key=',')
 then begin
  Key:=#0;
  exit;
 end;
if (pos(',', Edit1.Text)=0)and(Key='.')
 then begin
  Key:=',';
  exit;
 end;
if not (Key in ['0'..'9']+[#8])
 then begin
  Key:=#0;
  exit;
 end;
end;
спасибо огромное! вы очень помогли , а то я уже голову сломал))
kipishio вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
интересные проги kipish Софт 85 18.12.2022 01:03
Прокси-проги Spooter Софт 3 20.08.2008 10:55
Заморозка проги wwww Общие вопросы Delphi 3 09.10.2007 09:36
мои проги bill Помощь студентам 2 17.07.2007 21:33