AКак заблокировать функциональные клавиши системы
Иногда мы не хотим, чтобы пользователь прерывал работу программы с помощью Alt+Tab, Ctrl+Alt+Del, Ctrl+Esc и других системных функциональных клавиш (например, автоматических демонстрационных программ), так что же нам делать? Напомню, что эти функциональные клавиши неактивны при запуске заставки - то есть пока работает ваша программа, вы можете "обхитрить" Windows, чтобы она думала, что на экране статус защиты теперь на месте. ! Пожалуйста, посмотрите на следующий код:
вар
температура: целое число;
начинать
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, @temp, 0);
конец;
Конечно, не забудьте восстановить настройки и «разбудить» Windows по окончании работы программы. Код выглядит следующим образом:
вар
температура: целое число;
начинать
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 0, @temp, 0);
конец;
BКак подсказывать ветки
Большинство элементов управления в Delphi имеют практичное свойство Hint, которое представляет собой плавающую полосу подсказки. Но иногда подсказка бывает длинной. Можно ли отображать плавающую панель подсказок в отдельных строках? Фактически, Hint — это строка, поэтому Delphi автоматически интерпретирует управляющий символ возврата каретки при отображении строки, поэтому просто добавьте управляющий символ возврата каретки. Основываясь на этом принципе, мы также можем сделать уникальную вертикальную панель подсказок. Сначала разместите метку в форме form1, а затем посмотрите пример кода:
PROcedure TForm1.FormCreate(Отправитель: TObject);
начало метки1.Подсказка := 'вертикальный' + #13 + 'прямой' + #13 + 'ti' + #13 + 'показать';
конец;
CКак отображать изображения в меню
Вы использовали Office97? Вам нравится отображать значки в меню? Если вы хотите, чтобы ваша программа стала вишенкой на торте, подготовьте BMP как можно скорее!
Предположим, вы планируете добавить значок принтера (имя файла c:/inter.bmp) в 9-й пункт (серийный номер изменен на 8) «Печать» в строке меню «Файл» (имя — n1), затем пока событие OnCreate формы записывается следующим образом:
вар
BMP: TPicture;
начинать
Bmp := TPicture.Create;
Bmp.LoadFromFile('c:/printer.bmp');
SetMenuItemBitmaps(n1.Handle,8, MF_BYPOSITION,Bmp.Bitmap.Handle, Bmp.Bitmap.Handle);
конец;
Среди них первый bitmap.handle используется для невыбранных пунктов меню (не отмечен галочкой), а второй указывает растровое изображение, отображаемое при его выборе (флажке). Они могут быть одинаковыми или разными. Кроме того, поскольку высота пунктов меню ограничена, если растровое изображение слишком велико, будет отображаться только верхний левый угол. (Шанхай Ван Чжэнь)