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

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

Прозрачный TEdit [D7, WinXP]


Edit ©   (2005-12-20 15:04:00) 

Как делать так, чтобы TEdit не закрашивался системным фоном (обычно белый), а был прозрачный?
Нашел сообщение WM_CTLCOLOREDIT вроде бы за это отвечающее, но не пойму, как его применить :-(


MUHAMOR   (2005-12-22 08:22:00) [1]


WM_CTLCOLOREDIT:Begin
    SetTextColor(wParam,ColorTxtEB);
    SetBkColor(wParam,ColorFonEB);
    Result:=Brush(ColorFonEB);
End;


Brush - это:
Function Brush(Color:Longint):HBrush;

У меня так работает...


instance   (2005-12-21 16:26:00) [2]

внутри обработчика:

       SetBkMode(WParam, TRANSPARENT);
       Result := Bool(GetStockObject(NULL_BRUSH));

не уверен, но по-моему обрабатывать почему-то нужно все-таки WM_CTLCOLORSTATIC. Хотя и WM_CTLCOLOREDIT попробуй


VirEx   (2005-12-21 15:41:00) [3]


> [1] grisme ©   (21.12.05 11:41)
> А WS_EX_TRANSPARENT не покатит? (при создании CreateWindowEx
> и SetWindowLong при уже созданном)

не канает,
...кто б еще подсказал как цвет фона сделать и цвет шрифта изменить в окне edit


grisme   (2005-12-21 11:41:00) [4]

А WS_EX_TRANSPARENT не покатит? (при создании CreateWindowEx и SetWindowLong при уже созданном)


Наверх

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