Логин: Пароль:    Регистрация Всеми возможностями сайта можно пользоваться
только после авторизации.
   Забыли пароль?

Поиск
L



Статистика
u
Пользователи онлайн: нет
Гостей онлайн: 10
Всего онлайн: 10
Зарегистрировано юзеров: 7550
Комментариев на сайте: 670
Новый юзер: dolginaolha



Последние комментарии
c
Amard прокомментировал "Урок 53 - Потоки в Delphi, (часть 1/3)":
Всем привет! В Школе Частных Прорабов Prorab2.ru обучают как сделать дешевый и недорогой фундамент своими руками используя Строительные Нормы и Правила (СНиП), технологии для фундаментов и Технику Безопасности (ТБ) на объекте с помощью одной из лучших онлайн школ в мире ,а также единственной онлайн школы в России и на просторах бывшего СНГ Вы реально научитесь строить Фундамент за пол цены от рыночной стоимости работ – это не шутка, не розыгрыш и не мечта. Фундамент за 50 процентов – это реальность! Недавно я нашел крутую онлайн школу. Мужики реально крутая школа, все объясняют без заумных слов. Все нужно делать заблаговременно и разумно экономно! Там изучают множество тем о фундаментах. Одна из них: [url=https://prorab2.ru/category/fundament]Фундамент из бруса.[/url] До новых встреч!
CarolineWrifs прокомментировал "Урок 3 - Конструкция IF...THEN...ELSE":
[img]https://kapsuly-lipocarnit.ru/files/lipocarnit_1/img/product-head1.png[/img] [url=https://kapsuly-lipocarnit.ru/][img]https://karga.info/wp-content/uploads/2019/02/orig.jpg[/img][/url] Lipocarnit (ЛипоКарнит) - [url=https://kapsuly-lipocarnit.ru/]липокарнит капсулы для похудения цена екатеринбург[/url] для похудения в Екатеринбурге Цена: 990 руб. [url=https://kapsuly-lipocarnit.ru/]lipocarnit отзывы[/url] - Полная конфиденциальность Наименование и назначение товара не указаны на посылке. В соответствии с политикой конфиденциальности мы не передаем информацию третьим лицам. Аудио обзоры нашего магазина Липокарнит (LipoKarnit) - капсулы для похудения - описание Кто такие представители прекрасного пола ради похудения? Часы физических упражнений, строгие диеты, даже липосакция. Но, по мнению большинства врачей, лучше всего получить твердое натуральное средство для похудения с гарантированным эффектом. Среди тех, кто заменяет упражнения и осанку, профессионалы включают продукт для похудения Lipocarnit. По словам производителей, любая капсула бьет избыток жира на клеточном уровне, ускоряя обмен веществ и снижая уровень глюкозы в крови. LipoCarnit превращает жир в энергию и снижает уровень холестерина. Это, если верить словам клиентов, приводит к обещанной и быстрой потере веса. Почему мы набираем вес? Есть много причин, почему мы набираем вес. К ним относятся диетические излишки и фиксированный образ жизни и генетическая предрасположенность. Однако наименее реальным бедствием современной цивилизации является изменение в процессе обмена веществ. Нарушение обмена веществ возникает в результате: отсутствие компонентов, пригодных для обработки жировых клеток; сбой в процессе образования и разложения жира; отсутствие деталей, необходимых для осуществления химических реакций. Начальные признаки избыточного веса Дамы считают, что образования с избыточным весом наверняка не будет недостатка. Однако не только стрелки весов способны говорить о неточном ходе жирового обмена. Сначала вес может не измениться, однако другие симптомы нарушения обмена веществ будут наименее очевидными: апельсиновая корка; храп; постоянный аппетит; слабость; высокое кровяное давление; Боли в спине и суставах. Сказать, что все эти плохие реакции на тело означают заботиться о себе! Помогает ли нам бездействие? Если вам кажется, что лишний вес - это не та проблема, из-за которой вы должны изменить свой обычный образ жизни, вот лишь несколько несоответствий, которые могут привести к избыточному весу и неправильному обмену веществ. : высокое кровяное давление; избыток холестерина; уровень сахара в крови; проблемы с поджелудочной железой; Риск склероза и инфаркта миокарда. Не волнуйтесь, получите естественное и неопасное лечение для контроля жира - капсулы Липокарнит. Липокарнит (Li Капсулы ЛипоКарнит разрушают жировые отложения за счет действия состава природного баланса; Липоевая кислота нормализует уровень глюкозы в крови, очищает и сохраняет печень, ускоряет выделение энергии липидными клетками; Pycinate Pycollinate уменьшает чувство голода, расщепляет жир и нормализует кровяное давление; L-карнитин превращает липиды в энергию, снижает уровень холестерина. Поступление таким образом, чтобы улучшить ум, а не состав, значительно уменьшить избыточный вес. И сразу же для похудения не стоит ограничиваться едой. Продукт «переконфигурирует» организм для максимально быстрого удаления жиров и в то же время не вызывает привыкания или побочных эффектов.

HotKeys - горячие клавиши

HotKeys - комбинации клавиш, на которые может реагировать приложение, даже если оно не имеет фокуса или запущено в трее.
Hotkey состоит из клавиши-модификатора (Win, Alt, Control, Shift), и нажатия на любую другую клавишу, которая имеет виртуальный код.

Для того чтобы научить программу обрабатывать горячие клавиши, углубимся в загадочные джунгли API, но прежде этого создадим обработчик события WM_HOTKEY. Для этого объявим в классе TForm1 следующий метод: private

procedure WM_HotKeyHandler (var Message: TMessage);
message WM_HOTKEY;
И определим его вот таким образом:
procedure TForm1.WM_HotKeyHandler (var Message: TMessage);
  var
    idHotKey: integer; //идентификатор, но об этом - позже
    fuModifiers: word; //модификатор MOD_XX
    uVirtKey: word; //код виртуальной клавиши VK_XX
begin
  // параметры сообщения получаем так:
  idHotkey:= Message.wParam;
  fuModifiers:= LOWORD(Message.lParam);
  uVirtKey:= HIWORD(Message.lParam);
 
  //теперь - небольшая проверочка:
  if (fuModifiers = MOD_ALT) AND (uVirtKey = VK_F10) then
    caption:='Alt-F10 нажата';
  inherited;
end;
В этом примере обработчик сообщения WM_HOTKEY проверяет, являются ли полученные параметры сигналом о нажатии комбинации Alt-F10, и в случае положительного ответа в заголовок окна главной формы выводится соответствующая строка. Теперь обратимся непосредственно к созданию горячей клавиши - в нашем примере это будет все та же Alt-F10. Вначале ее нужно зарегистрировать в системе. Как это делается? При помощи функции:

BOOL RegisterHotKey(HWND hWnd, int id, UINT fsModifiers, UINT vk);
hWnd - окно, обрабатывающее сообщение WM_HOTKEY,
fsModifiers - модификаторы (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN),
vk - виртуальный код клавиши (см. константы с префиксом VK_).


Параметр id заслуживает отдельного разговора. Для приложения значение id может лежать в диапазоне 0000h..BFFFh, а для разделяемых динамических библиотек диапазон будет таким: C000h..FFFFh. Однако во избежание конфликтов между горячими клавишами различных процессов целесообразно использовать значение, возвращаемое функцией GlobalAddAtom, передавая ей в качестве параметра некую null-terminated строку длиной до 255 символов.

Вот как это делается:
Объявим глобальную переменную keyid: integer;
Она станет атомом, который создастся вышеописанной функцией, и будет служить идентификатором горячей клавиши. Для удобства поместим на форму две кнопки - первая будет создавать HotKey, вторая - уничтожать. Итак, создаем и регистрируем горячую клавишу:
procedure TForm1.Button1Click(Sender: TObject);
begin
keyid:=GlobalAddAtom('My Hotkey'); //создаем атом
RegisterHotKey(handle,// сообщение о HotKey будет получать форма
keyid, // регистрируем атом как id
MOD_ALT,// модификатор у нас - клавиша Alt
VK_F10 // вирт. клавиша - F10
);
end;
А следующий код отменяет зарегистрированную клавишу, и удаляет атом:
procedure TForm1.Button3Click(Sender: TObject);
begin
UnregisterHotKey(handle, keyid);
GlobalDeleteAtom(keyid);
end;
Рассмотрим еще один важный аспект работы с клавиатурой - способ отслеживания состояние клавиш Num Lock, Caps Lock, Scroll Lock и Insert. Понятное дело, что стандартными средствами Delphi тут не обойтись. Будем снова раскапывать API. Во-первых, зададим переменную Key типа word. Этой переменной можем присвоить значение одной из констант:
VK_NUMLOCK
VK_CAPITAL
VK_SCROLL
VK_INSERT

Теперь:
Var state: TKeyboardState;
begin
GetKeyboardState(state); //получить состояние клавиши
if Odd(state[VK_NUMLOCK]) then ; //клавиша "включена"
//как управлять состоянием клавиши?
state[key] := state[key] XOR 1; //циклично переключить
state[key] := state[key] OR 1; //включить
state[key] := state[key] AND (NOT 1); //выключить
SetKeyboardState(state); //установим новое значение
end;
Программное переключение раскладки клавиатуры - если Microsoft Word это умеет, то почему не попробовать и нам? ActivateKeyboardLayout(0,HKL_NEXT) - циклично переключает раскладку.
Загрузить русскую можно с помощью кода:
LoadKeyboardLayout('00000419', KLF_ACTIVATE), 
а английскую
LoadKeyboardLayout('00000409',KLF_ACTIVATE). 
Вот, пожалуй, и все премудрости работы с клавиатурой.

Вот и всё, Удачи!

Источник: www.thedelphi.ru
Автор: Савельев Александр
Опубликовано: 10 Августа 2014
Просмотров: 4126


Зарегистрируйтесь или авторизуйтесь, чтобы добавлять комментарии.