![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос про alignment у TEdit. [D6, XP]
vegarulez © (2008-02-20 09:20:00)В CLX это свойство есть в VCL сечас вставил в проект TEdit и оное свойство отсутсвует. Поэтому есть Вопрос:
1. как быть в VCL?
2. как в VCL проект вставить компонент CLX? Неважно TEdit, или любой другой.
Семеныч (2008-02-28 06:56:00) [1]> {RASkov}
И CreateParams - protected, а не public.
:o)
{RASkov} (2008-02-21 10:27:00) [2]Только Digit, а не Diget :)
{RASkov} (2008-02-21 10:25:00) [3]> циферки...
> добавить ES_RIGHT
+ ES_NUMBER
TMyEdit = class(TEdit)
private
FAlignment: TAlignment;
FOnlyDiget: Boolean;
procedure SetAlignment(const Value: TAlignment);
procedure SetOnlyDiget(const Value: Boolean);
public
procedure CreateParams(var Params : TCreateParams); override;
published
property Alignment: TAlignment read FAlignment write SetAlignment;
property OnlyDiget: Boolean read FOnlyDiget write SetOnlyDiget;
end;
...............................
procedure TMyEdit.CreateParams(var Params: TCreateParams);
const AlSt: array [TAlignment] of Cardinal = (ES_LEFT, ES_RIGHT, ES_CENTER);
var St: Cardinal;
begin
inherited;
St:=AlSt[FAlignment];
if FOnlyDiget then St:=St or ES_NUMBER;
Params.Style := Params.Style or St;
end;
procedure TMyEdit.SetAlignment(const Value: TAlignment);
begin
if FAlignment <> Value then begin
FAlignment := Value;
RecreateWnd;
end;
end;
procedure TMyEdit.SetOnlyDiget(const Value: Boolean);
begin
if FOnlyDiget <> Value then begin
FOnlyDiget := Value;
RecreateWnd;
end;
end;
vegarulez (2008-02-21 10:13:00) [4]Johnmen © (21.02.08 09:45) [6]
да я в этом с тобой согласен )
Попробую - спасип.
MBo © (21.02.08 09:42) [5]
кинь ссылкой чтоб почитать как это реализовывается.
типа:
myEdit:Tedit;
...
myEdit:=Tedit.Create(nil);
{[а тут вставить "перекрытый метод CreateParams???"}
myEdit.Free;
или я не так тя понял? кинь чем нить, чтоб думалось в нужном направлении...
з.ы. тока не кирпичом )
Johnmen (2008-02-21 09:45:00) [5]
> vegarulez © (21.02.08 09:25) [4]
Возьми что-нибудь стороннее. Напр. TCurrencyEdit из RxLib.
Другие пути тебе ещё рановато, как я понял...:)
MBo (2008-02-21 09:42:00) [6]создать наследника TEdit, в перекрытом методе CreateParams добавить ES_RIGHT
vegarulez (2008-02-21 09:25:00) [7]2 ЮЮ © (21.02.08 09:02) [2]
смотреть Johnmen © (21.02.08 09:21) [3]
2 Johnmen © (21.02.08 09:21) [3]
циферки...
просто типа чтоб по правую сторону находились... так удобнее....
Johnmen (2008-02-21 09:21:00) [8]
> ЮЮ © (21.02.08 09:02) [2]
Вообще-то автор говорил об Alignment, а не об Align. Разница понятна?
И о какой нехилой библиотеке речь?
> vegarulez ©
Что в этом едите предполагается едитить?
ЮЮ (2008-02-21 09:02:00) [9]> 2. как в VCL проект вставить компонент CLX? Неважно TEdit,
> или любой другой.
В Help хоть раз заглядывал?
CLX Reference VCL Reference
TEdit TEdit
Unit Unit
QStdCtrls StdCtrls
З.Ы. чтобы твой ехе-шник заработал на другои компьютере придется таскать нехилую run-time библиотеку.
Что такое TEdit, растянутый на весь экран/ пол экрана? Может тебе TMemo использовать при таких аппетитах?
vegarulez (2008-02-21 08:13:00) [10]Удалено модератором