Советы по Delphi. Версия 1.4.3 от 1.1.2001
Шрифт:
Можно ли вызвать хранимую процедуру через TQuery, если она не возвращает курсора?
Nomadic отвечает:
В случае MS SQL нужно написать:
TQUERY и TDBGRID
Delphi 1
1. После ключевого слова where используйте оператор order
2.
Две и более команд в свойстве TQUERY.SQL
Delphi 1
Я предлагаю вас попытаться подключить новый запрос к существующему TQuery.
Хитрость кроется в закрытии вашего запроса перед назначением нового.
RichEdit
Как вставить в нужное место Rich Text в TRichEdit?
Nomadic советует:
Вы можете послать сообщение EM_STREAMIN с параметром SFF_SELECTION методом Perform для замены текущего Selection. Выдержка из Help:
EM_STREAMIN
The EM_STREAMIN message replaces the contents of a rich edit control with the specified data stream.
Parameters
One of the following data formats, optionally combined with the SFF_SELECTION flag:
Value | Meaning |
---|---|
SF_TEXT | Text |
SF_RTF Rich-text | format |
If the SFF_SELECTION flag is specified, the stream replaces the contents of the current selection. Otherwise, the stream replaces the entire contents of the control.
Pointer to an EDITSTREAM structure. The control reads (streams in) the data by repeatedly calling the function specified by the structure's pfnCallback member.
Return Value
Returns the number of characters read.
Как указать максимальный размер текста для TRichEdit?
Nomadic советует:
У этого компонента есть свойство MaxLength, которое работает некорректно. Поэтому лучше пользоваться
Причем перед каждом открытии файла это действие необходимо повторять.
Если Вы передаете в качестве размера 0, то ОС ограничивает размер OS Specific Default Value. Реально, по результатам моих экспериментов, поставить можно размер, чуть меньший доступной виртуальной памяти. Я ограничился 90% от свободной виртуалки.
Для того, чтобы не повторять этот вызов (EM_LIMITTEXT), можно воспользоваться сообщением EM_EXLIMITTEXT.
Позиция
Delphi 2
RadioGroup
Группа радиокнопок и ActiveControl
На форме я имею группу радиокнопок. Я хотел бы вызывать контекстно-зависимую подсказку, если пользователь нажал F1. Для данной конкретной группы радиокнопок я установил HelpContext равным 22, но при любом вызове ActiveControl.HelpContext это возвращает (0). Все другие элементы управления работают как положено. Что я делаю неправильно?
Нет. Проблема в том, что ActiveControl – RadioButton, а не RadioButtonGroup. Поместите следующий код в обработчик события формы OnShow, он должен решить вашу проблему:
– Ralph Friedman
ScrollBar
Мерцание ScrollBar
TScrollBar в Delphi мигает при получении фокуса. Как избежать этого мерцания?
Такая же проблема и при перемещении стандартного бегунка полосы прокрутки. Лечится одинаково: установкой свойства TabStop в False.
– Rick Rogers
SpeedButton