Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как сделать выравнивание по правому краю TEdit? 
V
    Опции темы
Digit
Дата 18.1.2007, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 3.7.2005

Репутация: нет
Всего: нет



Я нашел эте тему.
Но я не могу ражобраться как и куда вставить тот кусок кода, который там приведен...  smile 

Помогите разобраться...
PM MAIL ICQ   Вверх
Sunvas
Дата 18.1.2007, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 28
Всего: 89





--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
dimazu
Дата 18.1.2007, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 4.3.2006

Репутация: 4
Всего: 5



Вообще-то в куске кода, который там приведен
вместо ТEdit получается TMemo с одной строкой...  smile 
Поэтому там и MultiLine стоит...
Ничего и тебе не мешает сделать по тому же принципу
в дезаин моде, просто создай мемо контроль высотой
в одну строчку и WantReturns, WantTabs, WordWrap поставь в False ...  smile 
PM MAIL   Вверх
Digit
Дата 18.1.2007, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 3.7.2005

Репутация: нет
Всего: нет



Sunvas, не выходит... вставил в procedure TForm1.FormCreate(Sender: TObject); первой строчкой... и ноль эмоций


dimazu, честно, ничего не понял...  smile 
PM MAIL ICQ   Вверх
Sunvas
Дата 18.1.2007, 23:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 28
Всего: 89



Digit, без написание наследника от этого компонента никак.


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
dimazu
Дата 18.1.2007, 23:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 4.3.2006

Репутация: 4
Всего: 5



На форму поставь TMemo, сделай его по размеру на одну строку,
нажми F11, найди WantReturns, WantTabs, WordWrap , поставь
их в False, найди Alignment, поставь как тебе нравится...  smile 
PM MAIL   Вверх
Digit
Дата 18.1.2007, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 3.7.2005

Репутация: нет
Всего: нет



Sunvas, а помочь не можете?
Мне достаточно полной программы с этой фишкой...
PM MAIL ICQ   Вверх
Sunvas
Дата 18.1.2007, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 28
Всего: 89



Digit, вот набрасал быренько примерчик. Если захоче можешь усовершенствовать, ибо так все эдиты будут у тебя по правому краю ровняться.
Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
Tedit = class (stdctrls.tedit) //Добавляем
procedure CreateParams(var Params: TCreateParams); override; //Добавляем
end; //Добавляем
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
procedure TEdit.CreateParams(var Params: TCreateParams); //Добавляем
begin
  inherited CreateParams(Params);
  Params.Style := Params.Style or ES_RIGHT;
end;

end.



Это сообщение отредактировал(а) Sunvas - 19.1.2007, 20:31


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
MrKit
Дата 19.1.2007, 20:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 18.1.2007
Где: Москва

Репутация: нет
Всего: нет



Сам недавно занимался этим вопросом.
В аттаче компонент, наследник TEdit, имеющий свойство Alignment, который регистрируется на панели компонентов Delphi.

Присоединённый файл ( Кол-во скачиваний: 17 )
Присоединённый файл  TAlignEdit.rar 2,34 Kb
PM MAIL   Вверх
Sunvas
Дата 19.1.2007, 20:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 28
Всего: 89



MrKit, в принципе у тебя решение то же. Только ты все сделал отдельным компонентом.


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
Albinos_x
Дата 20.1.2007, 18:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



Цитата

...
const
edLeft = 1;
edRicht = 2;
edCenter = 3;

procedure JustifyEdit(var ThisEdit : TEdit; Justify:byte);
var
Left, Width : Integer;
GString : String;
Rgn : TRect;
TheCanvas : TControlCanvas;  
begin
TheCanvas := TControlCanvas.Create;  
try
  TheCanvas.Control := ThisEdit;
  GString := ThisEdit.Text;  
  Rgn     := ThisEdit.ClientRect;
  TheCanvas.FillRect(Rgn);
  Width   := TheCanvas.TextWidth(GString);
  case Justify of
      1 : begin
          Left := 1;
          end;
      2 : begin
          Left := Rgn.Right - Width - 1;
          end;
      3 : begin
          Left := (Rgn.Right div 2) - (Width div 2) - 1;
          end;
       end;
  TheCanvas.TextRect(Rgn, Left, 0, GString);
finally
  TheCanvas.Free;
end;
end;


procedure TForm1.Button1Click(Sender: TObject);
var Can:TCanvas;
begin
JustifyEdit(Edit1,edCenter);
end;
...



--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Sunvas
Дата 20.1.2007, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 28
Всего: 89



Albinos_x, твой код нерабочий ввиду того, что если мы захотим вводить в этот Edit символы, то выравнивание все-равно будет по левому краю.


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
Albinos_x
Дата 20.1.2007, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



Sunvas,  smile это пример... ещё немного фантазии и он станет полностью рабочим без проблем... smile 


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Digit
Дата 22.1.2007, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 3.7.2005

Репутация: нет
Всего: нет



Всем огромное спасибо!

Тема закрыта
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0582 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.