На форме создаю тесктэдит:
- Код: Выделить всё
- 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
Эдит отлично работает - можно печатать, можно выделять текст. Но - не затирает то, что уже не действительно. Стираешь тест - картинка от него остаётся. Если утащить окно за край экрана, а потом вернуть - эдит приобретает должный вид. Как побороть?



 
 
 Как бы проблему принципиально решить? А то эдит жутко мерцает, когда выделяешь что-нибудь или стираешь. Когда печатаешь - тоже мерцает, но там можно повесить флаг и во время набора обрабатывать как было. Правда, это будет ещё один костыль
 Как бы проблему принципиально решить? А то эдит жутко мерцает, когда выделяешь что-нибудь или стираешь. Когда печатаешь - тоже мерцает, но там можно повесить флаг и во время набора обрабатывать как было. Правда, это будет ещё один костыль  Мерцает, зараза
  Мерцает, зараза