Как создать эквивалент TEdit но только с выравниваением вводимого текста по центру или по правой стороне?
TEdit не поддерживает выравниваение текста по центру и по правой стороне - лучше использовать компонент TMemo. Вам понадобится запретить пользователю нажимать Enter, Ctrl-Enter и всевозможные комбинации клавиш со стрелками, чтобы избежать появления нескольких сторк в Memo. Этого можно добиться и просматривая содержимое текста в TMemo в поисках кода возврата каретки (13) и перевода строки(10) на событиях TMemo Change и KeyPress. Можно также заменять код возврата каретки на пробел - для того чтобы позволять вставку из буфера обмена многострочного текста в виде одной строки. Пример:
procedure MultiLineMemoToSingleLine(Memo : TMemo); var
t : string; begin t := Memo.Text; if Pos(#13, t) > 0 then begin while Pos(#13, t) > 0 do delete(t, Pos(#13, t), 1); while Pos(#10, t) > 0 do delete(t, Pos(#10, t), 1); Memo.Text := t; end; end;
procedure TForm1.Memo1Change(Sender: TObject); begin MultiLineMemoToSingleLine(Memo1); end;
procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char); begin MultiLineMemoToSingleLine(Memo1); end;
Комментарий от "Сэр Кот-Оборотень" (kotwlf@newmail.ru) Вот так это можно сделать...
unit QEditAlignment; interface uses Windows, Messages, SysUtils, Classes,
Controls, StdCtrls;
type TEdit_Alignment = class(TEdit)
private FAlignment: TAlig!
nment; protected procedure CreateParams(var Params: TCreateParams); override; procedure SetAlignment(Value: TAlignment); public function GetControlsAlignment: TAlignment; override; constructor Create (AOwner: TComponent); override;
Маленькие хитрости: Автоматическое сохранение и восстановление свойств формы
Очередная маленькая хитрость будет посвящена автоматическому сохранению и восстановлению свойств формы, таких как размер, позиция, состояние. Конечно, существует целый ряд пакетов компонент, у которых есть аналогичные функции, но мне, к примеру, не интересно ставить целый пакет только из-за нескольких функций. К тому же, часто за эти пакеты надо платить деньги. В общем, напишем свой компонент.
Эффективное программирование TCP/IP. Библиотека программиста
Программирование TCP/IP может показаться очень простым, но это заблуждение. Многие программисты сталкиваются с тем, что написанное ими сетевое приложение недостаточно надежно. Часто причиной такого положения дел является неосторожное обращение с сетевыми протоколами. Поэтому основное внимание в данной книге уделено тонким вопросам функционирования семейства протоколов и способам работы с ними. Здесь изложены подтвержденные практикой советы, технические приемы и эвристические правила программирования TCP/IP для достижения максимальной производительности; показано, как избежать многих типичных ошибок. Каркас кода и библиотека функций дают возможность создавать приложения, не думая о низкоуровневых деталях. Основные идеи и концепции иллюстрируются многочисленными примерами. Вы станете лучше понимать внутреннее устройство TCP/IP и получите необходимые практические навыки
работы с этим семейством протоколов.
Автор: Jon Snader
Хокку дня
Вспотевшая мышка Коврик прогнула В разгаре проекта.
Афоризмы
Сказав: "Я записал вас в наследники",- вы, как порядочный человек, должны немедленно умереть (Сэмюэль Батлер)
Фраза дня
Человеку свойственно ошибаться. И он пользуется этим свойством часто и с удовольствием.
Дурацкие законы (информация предоставлена сайтом kurilka.com)
В городе Хейден в Аризоне (США) вам грозит штраф, если вы будете приставать к лягушкам.
В Канадской провинции Альберта выпущенным из тюрьмы преступникам до сих пор полагается заряженный пистолет и конь, чтобы они "могли покинуть город".
И на закуску коротенький анекдот
"Не стой под стрелой!" / Чингачгук /.