На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела Visual Basic: Общие вопросы
Здесь обсуждаются вопросы по языку Visual Basic 1-6 (а так же по схожим языкам, как, например, PowerBASIC).
Вопросы по Visual Basic .NET (это который входит в состав Visual Studio 2002/2003/2005/2008+, для тех, кто не в курсе) обсуждаются в разделе .NET.

Обратите внимание:
1. Прежде чем начать новую тему или отправить сообщение, убедитесь, что Вы не нарушаете правил форума!
2. Обязательно воспользуйтесь поиском. Возможно, Ваш вопрос уже обсуждали. Полезные ссылки приведены ниже.
3. Темы с просьбой выполнить какую-либо работу за автора в этом разделе не обсуждаются. Студенты, вам сюда: ПОМОЩЬ СТУДЕНТАМ!
4. Используйте теги [ code=vba ] ...текст программы... [ /code ] для выделения текста программы подсветкой.
5. Помните, здесь телепатов нет. Формулируйте свой вопрос максимально грамотно и чётко: Как правильно задавать вопросы
6. Запрещено отвечать в темы месячной (и более) давности, без веских на то причин.

Полезные ссылки:
user posted image FAQ Сайта user posted image FAQ Раздела user posted image Кладовка user posted image Наши Исходники user posted image API-Guide user posted image Поиск по Разделу user posted image MSDN Library Online user posted image Google

Ваше мнение о модераторах: user posted image SCINER, user posted image B.V.
Модераторы: SCINER, B.V.
  
> помогите доделать прозрачный текстбокс
    Весь мозг уже сломал - не могу сообразить, чего добавить

    На форме создаю тесктэдит:

    ExpandedWrap disabled
      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)


    Сублкассирую и эдит, и форму.
    В винпрок это:

    ExpandedWrap disabled
      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 Кбайт, скачиваний: 97)
    Сообщение отредактировано: Артур -
      Блин, дажевю
      Прозрачный текстбокс. Помогите пожалуйста доделать :)

      Десять лет как с куста
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0198 ]   [ 18 queries used ]   [ Generated: 19.04.24, 16:15 GMT ]