Вопрос: Функция keybd_event() принимает значения до 244 - как мне отправить нажатие клавиши с кодом #255 в элемент управления Windows? Ответ: Это может понадобится для иностранных языков или для специальных символов. (например, в русских шрифтах символ с кодом #255 - я прописное). Приведенный в примере метод, не стоит использовать в случае если символ может быть передан обычным способом (функцией keybd_event()). Read the rest of this entry »
Тэги ‘SendMessage’
Вопрос: Как программно перевести DBgrid в режим редактирования и установить курсор в окошке редактирования в требуемую позицию? Ответ:
Переведите таблицу в режим
редактирования, затем получите дескриптор (handle) окна редактирования и перешлите
ей сообщение EM_SETSEL. В качестве параметров вы должны переслать начальную
позицию курсора, и конечную позицию, определяющую конец выделения текста цветом.
В приведенном примере курсор помещается во вторую позицию, текст внутри ячейки
не выделяется. Read the rest of this entry »
Вопрос: Как опеделить состояние списка ComboBox, выпал/скрыт? Ответ: Пошлите ComboBox сообщение CB_GETDROPPEDSTATE. Пример: if SendMessage(ComboBox1.Handle, CB_GETDROPPEDSTATE,0,0) = 1 the begin {список ComboBox выпал}
Как сделать отступ в Memo?
С помощью API-функции SendMessage можно задать поля в Memo-компоненте. Если
необходимо, например, сделать отступ в 20 пикселей слева то можно это сделать
следующим образом:
var Rect: TRect; begin SendMessage( Memo1.Handle, EM_GETRECT, 0, LongInt(@Rect)); Rect.Left:= 20; SendMessage(Memo1.Handle, EM_SETRECT, 0, LongInt(@Rect)); Memo1.Refresh; end;
8
июня
Поля в Memo-компоненте
Поля в Memo-компоненте
С помощью API-функции SendMessage можно задать поля в Memo-компоненте. Если необходимо, например, сделать отступ в 20 пикселей слева то можно это сделать следующим образом: var Rect: TRect; begin SendMessage( Memo1.Handle, EM_GETRECT, 0, LongInt(@Rect)); Rect.Left:= 20; SendMessage(Memo1.Handle, EM_SETRECT, 0, LongInt(@Rect)); Memo1.Refresh; end;