Вопрос: Функция keybd_event() принимает значения до 244 - как мне отправить нажатие клавиши с кодом #255 в элемент управления Windows? Ответ: Это может понадобится для иностранных языков или для специальных символов. (например, в русских шрифтах символ с кодом #255 - я прописное). Приведенный в примере метод, не стоит использовать в случае если символ может быть передан обычным способом (функцией keybd_event()). Read the rest of this entry »
Тэги ‘Windows’
Вопрос: Как программно перевести 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. Если Вы хотите нарисовать линию с последним пикселом включительно
просто добавте единицу к координатам.