Как добавить баннер / водяной знак Cue в текстовое поле в VBA? - PullRequest
0 голосов
/ 20 сентября 2018

Как создать текстовое поле в vba, которое показывает светло-серый текст, когда оно пустое (например, «Поиск ...» в поле поиска stackoverflow)?

1 Ответ

0 голосов
/ 20 сентября 2018

Самый простой способ, который я могу рассмотреть, - это иметь 2 текстовых поля - одно с фоном, другое без.

Сверху находится поле без фона, где вы набираете текст.Тот с фоном позади него и не может быть выбран.Когда в верхнем текстовом поле есть текст, нижний пустой.Когда редактируемое текстовое поле пусто, фоновое поле содержит текст.

Или, если вы используете текстовое поле ActiveX в качестве верхнего слоя, вы можете использовать опцию BackStyle для переключения прозрачности, например, так:

Private Sub TextBox1_LostFocus()
    If Len(TextBox1.Value) > 0 Then
        TextBox1.BackStyle = fmBackStyleOpaque
    Else
        TextBox1.BackStyle = fmBackStyleTransparent
    End If
End Sub
...