StatusBar: на одной из панелей иконка+текст - VB

Узнай цену своей работы

Формулировка задачи:

Есть VB-based StatusBar из 3-х панелей.
Хочется нарисовать достойную картинку + текст на 3-й панели.
Через API я его целиком рисовать умею, но не хочу, ибо уже есть (да и перерисовки замучаюсь отрабатывать).
Картинка через VB эта ерунда: 256цветов, да еще срезает, надо от этого уходить.
Если текст писать через VB, то картинка на него наложится.
Поэтому тестируем так:

Все замечательно, имеем картинка без срезаний, справа текст.
Делаем form_resize, текст исчезает.
Что там надо отрабатывать (думаю какой-то msg через сабклассинг статусбара мочить) чтоб все нормально было?
М.б. просто какой пример по теме простенький...

Решение задачи: «StatusBar: на одной из панелей иконка+текст»

textual
Листинг программы
<font color="blue">Private</font> <font color="blue">Sub</font> StBarCommand_Click()
    <font color="blue">Dim</font> lngIcon <font color="blue">As</font> <font color="blue">Long</font>
    lngIcon = LoadImage(App.hInstance, MAKEINTRESOURCE(<font color="darkblue"><b>135</b></font>), IMAGE_ICON, <font color="darkblue"><b>16</b></font>, <font color="darkblue"><b>16</b></font>, LR_DEFAULTCOLOR)
    <font color="blue">Call</font> SendMessageLong(StatusBar1.hwnd, SB_SETICON, <font color="darkblue"><b>2</b></font>, <font color="blue">ByVal</font> lngIcon)
    <font color="00AA00">'SetText StatusBar1.hwnd, 2, SBT_SUNKEN, <font color="teal">"Test text"</font></font>
    StatusBar1.Panels(<font color="darkblue"><b>3</b></font>).Text = <font color="teal">"       Test text"</font>
<font color="blue">End</font> <font color="blue">Sub</font>

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.214 из 5
Похожие ответы