Тэги ‘Windows’

Вопрос:
Функция keybd_event() принимает значения до 244 - как мне отправить нажатие
клавиши с кодом #255 в элемент управления Windows?
Ответ:
Это может понадобится для иностранных языков или для специальных символов. (например,
в русских шрифтах символ с кодом #255 - я прописное). Приведенный в примере метод,
не стоит использовать в случае если символ может быть передан обычным способом
(функцией keybd_event()). Read the rest of this entry »
9
июня

Как программно перевести DBgrid

   Автор: admin   в Delphi FAQ

Вопрос:
Как программно перевести DBgrid в режим редактирования и установить курсор в
окошке редактирования в требуемую позицию?

Ответ:

Переведите таблицу в режим
редактирования, затем получите дескриптор (handle) окна редактирования и перешлите
ей сообщение EM_SETSEL. В качестве параметров вы должны переслать начальную
позицию курсора, и конечную позицию, определяющую конец выделения текста цветом.
В приведенном примере курсор помещается во вторую позицию, текст внутри ячейки
не выделяется. Read the rest of this entry »

Вопрос:
TTimer работает не достаточно точно. Как получить более высокую точность?

Ответ:

Таймер Windows не был
создан с целью получения сверхточного хронометра. :-( Другими словами, когда
Вы устанавливаете таймер на срабатывания каждые 1000 миллисекунд, он может срабатывать
через интервал несколько больший чем 1000 миллисекунд. Значения меньше 55 миллисекунд
никогда не будут срабатывать вовремя в Windows, поскольку это минимальная точность
таймера. Можно проверять системное время и сравнивать его со временем предыдущего
события таймера чтобы повысить точность.

Вопрос:

Мне нужно программно установить некоторые файлы с установочного диска Windows. На многих компьютерах CAB-файлы установки Windows находятся в каком-то каталоге на жестком диске, на других – Windows был установлен с CD. Как узнать откуда была установленна Windows?

Ответ:
Эту информацию можно получить из реестра. Read the rest of this entry »
Вопрос:

События KeyPress и KeyDown не вызываются для клавиши Tab – как определить, что она была нажата?

Ответ:

На уровне формы клавиша
tab обычно обрабатывается Windows. В примере создается обработчик события CM_Dialog
для перехвата Dialog keys. Read the rest of this entry »

Вопрос:
Создание PolyPolygon используя массив точек?

Ответ:

Polygon – метод компонента
TCanvas получает в качестве параметра динамический массив точек. Функция PolyPolygon()
из Windows GDI получает указатель на массив точек. Read the rest of this entry »

Вопрос:

Почему методы рисования Delphi (например MoveTo и LineTo) рисуют на один пиксел короче?

Ответ:

Так работает большинство
графических систем, включая Windows. Библиотека VCL просто передает вызовы в
функции GDI. Если Вы хотите нарисовать линию с последним пикселом включительно
просто добавте единицу к координатам.