Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TextAlign


Ajax ©   (2003-07-02 10:40:00) 

Почему не работает следущий код?
EditBox1.TextAlign:=taCenter;
То есть если в десигнтайм свойства ставить все хорошо, а вот во время выполнения не работает. Может нужно отдавать еще какую-нибудь команду на обновление?


avs   (2004-03-12 14:35:00) [1]

Еще одна особенность: Если в KolMemo  в DesignTime свойство Align<>caNone,текст выравнивается независимо от свойства TextAlign по левому краю. Победить это можно изменяя свойство Align после запуска программы.


Ajax   (2003-07-09 07:27:00) [2]

Да/Нет


Юрий К   (2003-07-07 15:33:00) [3]

">Vladimir Kladov   (04.07.03 17:47)
Будет ли реализована смена флага в KOL?"

Тоже желаю знать ответ, может это сложно сделать?


Ajax   (2003-07-06 21:26:00) [4]

>SPeller ©   (04.07.03 17:21)
Так и не смог найти, вышлите пожалуйста линк.

>Vladimir Kladov   (04.07.03 17:47)
Будет ли реализована смена флага в KOL?


Vladimir Kladov   (2003-07-04 17:47:00) [5]

потенциально надо бы еще "retrieve" значения, установленные SetWindowLong (а их несколько разных может быть), SetProp (а как узнать, какие - кроме 'ID_SELF'?), SetAtom. Если не брать это в расчет, то все можно. Вполне обойтись и внешней функций, совсем необязательно устраивать метод. Теоретически можно и через отдельное свойство вроде ED_Options.


SPeller   (2003-07-04 17:21:00) [6]

Если вам нужно - то где-то в статьях было описано два (помоему) решения этой проблемы, и, как раз, на примере выравнивания текста в Edit.


Ajax   (2003-07-04 12:44:00) [7]

А может внести в KOL такую возможность???

Initially create a single control. When the text alignment is to change, retrieve location, size, and style bits for the existing edit control.

Create a new control with the same size and in the same location, but change the style bits to reflect the new alignment.

Send the EM_GETHANDLE to each control to retrieve a handle to the memory that stores the contents. Send an EM_SETHANDLE to each control to exchange the memory used by each. Finally, destroy the original control.

Этот пример в SDK описан.


Gandalf   (2003-07-03 17:31:00) [8]

Это API таков - флаг можно установить но снять нельзя, потому работает только первая установка, для вторичной смены нужно создать новый компонент.


Ajax   (2003-07-02 21:32:00) [9]

А если теперь в конце вашего кода дописать
edit.TextAlign:=taLeft;
То текст останется в центре.


savva   (2003-07-02 11:21:00) [10]

у меня работает.. вот динамически создаю тот самый бокс:
Edit := NewEditbox( Form,[]);
     Edit.Ctl3D := False;
     Edit.Color := clInfoBk;
     Edit.DoubleBuffered := True;
     Edit.TextAlign := taCenter;

     with Edit^ do
     begin
       Left := 10;
       Top := 10;
       Text := Value;
       SelectAll;
     end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо