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

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

Кнопка в Edit [D6, Win2k]


Hyboid ©   (2004-12-12 17:33:00) 

Собственно, нужно запихнуть кнопку в Edit сбоку. Кнопка как дочернее окно. У меня получилось, что текст в Edit'е может затирать кнопку. Т.е. клиентскую область Edit'а необходимо сократить. Подскажите как это сделать...


wisekaa   (2004-12-12 23:02:00) [1]


> Потому что тогда кнопка уже не будет дочерним окном.

Во слона то и не заметил, тогда сорри.


Юрий Зотов   (2004-12-12 21:08:00) [2]

> wisekaa ©   (12.12.04 20:12) [1]

Потому что тогда кнопка уже не будет дочерним окном.

> Hyboid   (12.12.04 17:33)

См. EM_GETRECT и EM_SETRECT. Первое сообщение надо обрабатывать, второе - послать из CreateWnd. Кроме того, в CreateParams надо включить в Params.Style стили WS_CLIPCHILDREN, ES_MULTILINE и выключить стиль ES_WANTRETURN, а в методе KeyDown - заблокировать вертикальные стрелки.

Пример - см. TSpinEdit в поставке Delphi.


wisekaa   (2004-12-12 20:12:00) [3]

А почему, именно так, а не прикрепить кнопку с права, перекрыв метод отрисовки компонента?


Наверх

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