Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.22.51.241] |
|
Сообщ.
#1
,
|
|
|
Весь мозг уже сломал - не могу сообразить, чего добавить
На форме создаю тесктэдит: hwndTx = CreateWindowExW(WS_EX_TRANSPARENT _ , StrPtr("Edit"), StrPtr("ля-ля-ля") _ , WS_BORDER Or WS_CHILD Or WS_VISIBLE Or &H4& _ , 0, 0, 150, 150, Me.hwnd, 0, App.hInstance, 0) Сублкассирую и эдит, и форму. В винпрок это: Public Function winProc(ByVal hwnd As Long, uMsg As Long, wParam As Long, lParam As Long, ByVal PrevProc As Long) As Long Dim aRect As RECT Select Case uMsg Case WM_CTLCOLOREDIT winProc = CallWindowProc(PrevProc, hwnd, uMsg, wParam, lParam) If hwnd = hwndF Then SetBkMode wParam, 1 End If ' Case WM_PAINT Case WM_ERASEBKGND If hwnd = hwndTx Then ' winProc = CallWindowProc(PrevProc, hwnd, uMsg, wParam, lParam) Else winProc = CallWindowProc(PrevProc, hwnd, uMsg, wParam, lParam) End If Case Else winProc = CallWindowProc(PrevProc, hwnd, uMsg, wParam, lParam) End Select End Function Эдит отлично работает - можно печатать, можно выделять текст. Но - не затирает то, что уже не действительно. Стираешь текст - картинка от него остаётся. Если утащить окно за край экрана, а потом вернуть - эдит приобретает должный вид. Как побороть? Прикреплённый файлTransparentTextBox.zip (166,7 Кбайт, скачиваний: 98) |
Сообщ.
#2
,
|
|
|