Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Прозрачный текстбокс и цвет текста в нем / 5 сообщений из 5, страница 1 из 1
01.10.2012, 15:39
    #37978734
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прозрачный текстбокс и цвет текста в нем
Ну естественно нужен стандартный.
Прозрачность можно задать через Locked (надо то же самое), но как чтоб можно было редактировать?
Пока не копал, написал вопрос тупо просто.
Можно конечно Label с вводом через клавиатуру, но текстбокс все же думаю лучше будет.
...
Рейтинг: 0 / 0
01.10.2012, 17:04
    #37978996
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прозрачный текстбокс и цвет текста в нем
Каким сообщением textbox (edit) рисует background?
Потому как этот кусок кода на textbox не влияет(хотя прекрасно справляется с кнопками, слайдерами и т.п.)
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
    Case WM_CTLCOLORBTN:
      SetBkMode wParam, TRANSPARENT
      GetWindowRect lParam, rc
      tPt.x = rc.Left
      tPt.y = rc.Top
      MapWindowPoints 0, GetParent(lParam), tPt, 2
      rc.Left = tPt.x
      rc.Top = tPt.y
      SetBrushOrgEx wParam, -rc.Left, -rc.Top, tPt
      NewDigitsWindowProc = hbshBackDigits
      Exit Function
    Case WM_CTLCOLORSTATIC:
      SetBkMode wParam, TRANSPARENT
      GetWindowRect lParam, rc
      tPt.x = rc.Left
      tPt.y = rc.Top
      MapWindowPoints 0, GetParent(lParam), tPt, 2
      rc.Left = tPt.x
      rc.Top = tPt.y
      SetBrushOrgEx wParam, -rc.Left, -rc.Top, tPt
      NewDigitsWindowProc = hbshBackDigits
      Exit Function
...
Рейтинг: 0 / 0
01.10.2012, 17:15
    #37979016
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прозрачный текстбокс и цвет текста в нем
Упс, цвет текста оказывается задается в лоб (.ForeColor). Только что с прозрачностью делать не пойму.
...
Рейтинг: 0 / 0
01.10.2012, 17:45
    #37979094
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прозрачный текстбокс и цвет текста в нем
http://support.microsoft.com/kb/174301/ru
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
    Case WM_CTLCOLOREDIT:
      SetBkMode wParam, TRANSPARENT
      GetWindowRect lParam, rc
      tPt.x = rc.Left
      tPt.y = rc.Top
      MapWindowPoints 0, GetParent(lParam), tPt, 2
      rc.Left = tPt.x
      rc.Top = tPt.y
      SetBrushOrgEx wParam, -rc.Left, -rc.Top, tPt
      NewDigitsWindowProc = hbshBackDigits
      Exit Function



Так получилось прозрачно.
Но при этом
.ForeColor=vbYellow например игнорируется, т.е. цвет текста черный, а не желтый.
...
Рейтинг: 0 / 0
01.10.2012, 17:52
    #37979107
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прозрачный текстбокс и цвет текста в нем
О, зафурычило.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Case WM_CTLCOLOREDIT:
      SetBkMode wParam, TRANSPARENT
      GetWindowRect lParam, rc
      tPt.x = rc.Left
      tPt.y = rc.Top
      MapWindowPoints 0, GetParent(lParam), tPt, 2
      rc.Left = tPt.x
      rc.Top = tPt.y
      SetBrushOrgEx wParam, -rc.Left, -rc.Top, tPt
      NewDigitsWindowProc = hbshBackDigits
      SetTextColor wParam, vbYellow
      Exit Function
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Прозрачный текстбокс и цвет текста в нем / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]