Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум на Исходниках.RU > Visual Basic: Общие вопросы > помогите доделать прозрачный текстбокс |
Автор: Артур 03.04.19, 13:31 |
Весь мозг уже сломал - не могу сообразить, чего добавить На форме создаю тесктэдит: <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> 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) Сублкассирую и эдит, и форму. В винпрок это: <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> 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 (, : 100) |
Автор: Артур 04.04.19, 17:48 |
Блин, дажевю Прозрачный текстбокс. Помогите пожалуйста доделать Десять лет как с куста |