Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.01.28;
Скачать: CL | DM;

Вниз

Выравнивание текста в Edit   Найти похожие ветки 

 
Антибайт   (2006-09-16 20:57) [0]

А как можно сделать вертикальное выравнивание в однострочном редакторе?

Попробовал так

var
Rect  : pointer;
Rect_  : TRect;

begin
Rect_.Top := 2;
Rect_.Left := 10;
Rect_.Right := 200;
Rect_.Bottom := 10;
Rect := @Rect_;
SendMessage (CatBox.Handle, EM_SetRectNP, 0, Integer (Rect));
end;


Не работает не фига ((

Фунrцию вызываю в OnShow.


 
KilkennyCat ©   (2006-09-17 11:39) [1]

А не проще ли написать наследника с собственной процедурой отрисовки?


 
Антибайт   (2006-09-17 20:53) [2]

Да нифига не проще. Придётся перехватывать клавиатуру, писать в буфер, потом через TextOut выводить из буфера на каждое отжатие клавиши. Может можно проще, но мне пока в голову лезет этот вариант.

И что значит наследник на апях?

Почему EM_ SetRect не работает?


 
KilkennyCat ©   (2006-09-18 12:37) [3]

> [2] Антибайт   (17.09.06 20:53)


это я сглупил, извиняюсь... забыл, что апишный раздел.

Может, не работает из-за того, что EM_SetRectNP не вызывает перериросовки? :)


 
Антибайт   (2006-09-19 09:45) [4]

Ну ведь EM_GetRect возвращает правильный прямоугольник.  
Обязательно после этого перерисовыватся?


 
Leonid Troyanovsky ©   (2006-09-19 10:40) [5]


> Антибайт   (16.09.06 20:57)  

> А как можно сделать вертикальное выравнивание в однострочном
> редакторе?

> SendMessage (CatBox.Handle, EM_SetRectNP, 0, Integer (Rect));


This message is processed only by multiline edit controls.

--
Regards, LVT.


 
Антибайт   (2006-09-19 13:38) [6]

А как быть с однострочным редактором?


 
Leonid Troyanovsky ©   (2006-09-19 14:33) [7]


> Антибайт   (19.09.06 13:38) [6]

> А как быть с однострочным редактором?


http://groups.google.com/group/borland.public.delphi.vcl.components.using/msg/111fd76230bd76fd

--
Regards, LVT.


 
DVM ©   (2006-09-19 15:01) [8]


> И что значит наследник на апях?

Ну не наследник, а оконную процедуру подменить своей можно вполне. SetWindowLong(...). В обработчике WM_PAINT рисовать все что угодно.
Для остальных сообщений вызывать дефолтовую оконную процедуру.



Страницы: 1 вся ветка

Текущий архив: 2007.01.28;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.062 c
3-1163059970
DelphiLexx
2006-11-09 11:12
2007.01.28
Заблокировать запись


4-1158529926
ph0sgen
2006-09-18 01:52
2007.01.28
вопрос по потоку


3-1162375442
Сатир
2006-11-01 13:04
2007.01.28
Открытие курсора с переменным кол-вом параметров


15-1167335262
Real
2006-12-28 22:47
2007.01.28
Что мешает Гуглу реализовать внутрифайловый поиск?


5-1147314566
БэкхэМ
2006-05-11 06:29
2007.01.28
Помогите Плиззз!!!