powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / С прозрачностью Treeview и Listview никто не поможет?
17 сообщений из 17, страница 1 из 1
С прозрачностью Treeview и Listview никто не поможет?
    #38012367
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну с Treeview немного повозился.
В соседней теме Массовый сабклассинг (OldXXXWindowProc?) и прозрачность ComboBox
картинка.
пока что-то не очень -автоматом только background - работает это только на классике и XP-стиле, на висте-нет. Да и тот прыгает.
С item-ами пока смог через CustomDraw изменить цвет текста, ну при желании background:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
    ' ======================================================
    Case WM_NOTIFY
      Static tvcd As NMTVCUSTOMDRAW
      MoveMemory tvcd, ByVal lParam, Len(tvcd)   ' every structs' member is a Long
        Select Case tvcd.nmcd.hdr.code
          Case NM_CUSTOMDRAW
            Select Case tvcd.nmcd.dwDrawStage
            ' ====================================================
            Case CDDS_PREPAINT
              ' Tell the listview we want CDDS_ITEMPREPAINT for each item
              NewDigitsWindowProc = CDRF_NOTIFYITEMDRAW
              Exit Function
              ' ====================================================
            Case CDDS_ITEMPREPAINT
              'Select Case tvcd.nmcd.hdr.hwndFrom 'в смысле какой контрол собрался перерисовываться
              '  Case Form1.TreeView1.hwnd
                  'в Tag можно хранить информацию о цвете строчки, если пусто, то по умолчанию
                  tvcd.clrText = vbYellow
                  tvcd.clrTextBk = vbRed 'background of item, если надо
                  MoveMemory ByVal lParam, tvcd, Len(tvcd)
                  Exit Function
              '  Case Else
              'End Select 'tvcd.nmcd.hdr.hwndFrom
            Case Else
          End Select   ' tvcd.nmcd.dwDrawStage
        Case Else
      End Select   ' nmh.code


Но как сделать background прозрачным, я не понял.
По идее подрисовать туда кусок картинки, но не уверен.
Иконку например на кнопке можно нарисовать так:

Код: vbnet
1.
                      DrawIconEx lvcd.hdc, x, y, lngIcon, 24, 24, 0, 0, DI_NORMAL


Наверно можно и кусок заготовленного brashа бухнуть как то, если hdc известно.
Но непонятно что при этом будет с родным текстом нода и выделением.

Все-таки надеюсь что Node- это что-то более менее стандартное и есть какой-нибудь WM_CTLCOLOR XXX
...
Рейтинг: 0 / 0
С прозрачностью Treeview и Listview никто не поможет?
    #38016452
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, для listview "прозрачность" сделал. Много чего перепробовал, но решение получилось довольно простое. При инициализации LVM_SETBKCOLOR и LVM_SETTEXTBKCOLOR выставляется в CLR_NONE один раз, а по событию WM_ERASEBKGND (Listview сам себя ловит) на hdc ListView отрисовывается кусок картинки снизу стандартным кодом и делается RedrawWindow(Form1.ListView1.hwnd -это очень стабильно получилось. Замечу, что в отличии от установки картинки фона, моя картинка не будет прокручиваться при прокрутке Listview.

Единственное, с LVS_EX_DOUBLEBUFFER ничего не получается.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
  SendMessageLong Form1.ListView1.hwnd, LVM_SETBKCOLOR, 0, ByVal CLR_NONE
  SendMessageLong Form1.ListView1.hwnd, LVM_SETTEXTBKCOLOR, 0, ByVal CLR_NONE
  
  OldListView1WindowProc = SetWindowLong(ListView1.hwnd, GWL_WNDPROC, _
   AddressOf NewListView1WindowProc)
...
'для событий ListView1
Public Function NewListView1WindowProc _
  (ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  Dim rc As RECT
  Dim tPt As POINTAPI
  Dim the_hdc As Long
  Dim hbmDstOld As Long
  
  Select Case Msg
    Case WM_ERASEBKGND:
      Debug.Print "WM_ERASEBKGND:" & wParam
      
      the_hdc = GetDC(Form1.ListView1.hwnd)
      hbmDstOld = SelectObject(the_hdc, hbshBackDigits)
      SetBkMode the_hdc, TRANSPARENT
      GetWindowRect Form1.ListView1.hwnd, rc
      tPt.x = rc.Left
      tPt.y = rc.Top
      MapWindowPoints 0, Form1.PictureDigits.hwnd, tPt, 2
      rc.Left = tPt.x
      rc.Top = tPt.y
      SetBrushOrgEx the_hdc, -rc.Left, -rc.Top, tPt
      PatBlt the_hdc, 0, 0, Form1.ListView1.Width, Form1.ListView1.Height, PATCOPY
      SelectObject the_hdc, hbmDstOld
      Call RedrawWindow(Form1.ListView1.hwnd, ByVal 0&, ByVal 0&, RDW_INVALIDATE Or RDW_FRAME Or RDW_UPDATENOW)
      
      NewListView1WindowProc = 1
      Exit Function
    Case WM_PAINT:
      Debug.Print "WM_PAINT"
  End Select 'Msg
  NewListView1WindowProc = CallWindowProc _
   (OldListView1WindowProc, hwnd, Msg, wParam, lParam)
End Function




С Treview так не получается, пока фигня и уже надоело этим заниматься. Походу там в отличии от ListView нельзя задать пустой цвет отрисовки фона CLR_NONE , можно задать -1, но это похоже не то.
Т.е. я не удовлетворен пока даже с background -сейчас работает и "на вистах", но скроллит страшно при нажатии на +/- .Для treview пока срабатывает 2 кода: WM_CTLCOLOR*** картинки-контейнера и WM_ERASEBKGND самого treeview на себя.
И непонятно чего делать с итемами. Можно конечно пытаться отрисовывать фон каждого item через customdraw, но тяжело это и не факт что он не перерисует, т.к. нет инструкции CLR_NONE для treeview.
На treeview короче решил забить пока.
Тест-проект во вложении, м.б. кто допилит.
...
Рейтинг: 0 / 0
С прозрачностью Treeview и Listview никто не поможет?
    #38016459
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может, просто перейти на VB.NET?
...
Рейтинг: 0 / 0
С прозрачностью Treeview и Listview никто не поможет?
    #38016461
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTMМожет, просто перейти на VB.NET?
Я делал тут попытку, но пока отмел ее.
Можно подумать там такие вопросы проще решаются.
Ну м.б. есть пара-тройка контролов которые "типа красивше сделаны".
Какая разница, все хитрости делаются на API, а из vb6 к ним доступ думаю проще. Декларировать API так понимаю не надо только в голом C++, ибо подключаешь h-файл и все есть (это если компилятор не послал с кучей ошибок).
...
Рейтинг: 0 / 0
С прозрачностью Treeview и Listview никто не поможет?
    #38016466
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так в том-то и дело, что Вам всё равно приходится оборачивать (VB6 + API) + собственный сабклассинг...
Конечно, с одной стороны, нельзя считать потерянным то время, что вы затратили на изучение WinAPI, ибо интерфейс един для всей ОС,на каком бы языке вы не программмировали; а с другой - если Вам нужны действительно все "красивости в новом стиле" - так и пользуйте сразу тот фреймворк, который под это и заточен...
...
Рейтинг: 0 / 0
С прозрачностью Treeview и Listview никто не поможет?
    #38016524
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может подойдет
Изменить цвет фона ActiveX TreeView

или речь не о том?
...
Рейтинг: 0 / 0
С прозрачностью Treeview и Listview никто не поможет?
    #38017209
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HandKotможет подойдет
Изменить цвет фона ActiveX TreeView
или речь не о том?
То что вы предлагаете из моего примера делается в одну строчку:
Код: vbnet
1.
2.
 SendMessage Form1.TreeView1.hwnd, TVM_SETBKCOLOR, 0, ByVal vbRed
 SendMessage Form1.TreeView1.hwnd, TVM_SETTEXTCOLOR, 0, ByVal vbYellow 'задаем цвет текста 


Ну плюс отменяете попытку отрисовки фона в WM_ERASEBKGND для TreeView + не пытаться ловить WM_CTLCOLORXXX от TreeView1.
До кучи надо задать фон текста для итемов:
Код: vbnet
1.
2.
                 'tvcd.clrText = vbYellow 'это не надо т.к. цвет текста задан через TVM_SETTEXTCOLOR
                  tvcd.clrTextBk = vbRed 'background of item -красный


-см. код в начале топика-он закомментирован в примере

Но речь не о том. Надо чтобы фоном (и общим, и для итемов) был не цвет, а кусок картинки родительского Picturebox. И смысл, что для Treview не получается цвет пустым (CLR_NONE) как для listview, т.е. Treeview всегда отрисовывает "какой-то цвет" (заданный, либо системный если -1)
...
Рейтинг: 0 / 0
С прозрачностью Treeview и Listview никто не поможет?
    #38017260
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может вырезать кусок окна тривью по маске? Как-то так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
Option Explicit

Private Declare Function CreateRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Private Declare Function CombineRgn Lib "gdi32" (ByVal hDestRgn As Long, ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Declare Function GetDIBits Lib "gdi32" (ByVal aHDC As Long, ByVal hBitmap As Long, ByVal nStartScan As Long, ByVal nNumScans As Long, lpBits As Any, lpBI As BITMAPINFOHEADER, ByVal wUsage As Long) As Long
Private Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function DeleteDC Lib "gdi32" (ByVal hdc As Long) As Long

Private Const RGN_OR = 2

Private Type BITMAPINFOHEADER
    biSize As Long
    biWidth As Long
    biHeight As Long
    biPlanes As Integer
    biBitCount As Integer
    biCompression As Long
    biSizeImage As Long
    biXPelsPerMeter As Long
    biYPelsPerMeter As Long
    biClrUsed As Long
    biClrImportant As Long
End Type

Public Sub SetTransparent(frm As Form, TransColor As Long)
Dim lRgn As Long
    Screen.MousePointer = vbHourglass
    lRgn = lGetRegion(frm, TransColor, frm.Picture)
    SetWindowRgn frm.hwnd, lRgn, True
    Screen.MousePointer = vbDefault
End Sub

Private Function lGetRegion(frm As Form, ByVal lBackColor As Long, ByVal Picture As StdPicture) As Long
Dim lRgn As Long
Dim lSkinRgn As Long
Dim lStart As Long
Dim lX As Long
Dim lY As Long
Dim ms As Long
Dim bi As BITMAPINFOHEADER, bits() As Long, hdc As Long
    With bi
        .biSize = LenB(bi)
        .biWidth = frm.ScaleX(Picture.Width, vbHimetric, vbPixels)
        .biHeight = frm.ScaleY(Picture.Height, vbHimetric, vbPixels)
        .biPlanes = 1
        .biBitCount = 32
        .biCompression = 0
        ReDim bits(0 To .biWidth - 1, 0 To .biHeight - 1)
        hdc = CreateCompatibleDC(0)
        GetDIBits hdc, Picture, 0, bi.biHeight, bits(0, 0), bi, 0
        DeleteDC (hdc)
        lSkinRgn = CreateRectRgn(0, 0, 0, 0)
        For lX = 0 To .biHeight - 1
            lY = 0
            Do While lY < .biWidth
                Do While lY < .biWidth
                    If bits(lY, lX) <> lBackColor Then Exit Do
                    lY = lY + 1
                Loop
                If lY < .biWidth Then
                    lStart = lY
                    Do While lY < .biWidth
                        If bits(lY, lX) = lBackColor Then Exit Do
                        lY = lY + 1
                    Loop
                    If lY > .biWidth Then lY = .biWidth
                    lRgn = CreateRectRgn(lStart, .biHeight - lX - 1, lY, .biHeight - lX)
                    CombineRgn lSkinRgn, lSkinRgn, lRgn, RGN_OR
                    DeleteObject lRgn
                End If
            Loop
        Next
    End With
    lGetRegion = lSkinRgn
End Function

В этом примере у формы вырезаются куски определенного цвета, задающегося переменной TransColor, маской является картинка формы. Пример ориентирован на произвольную картинку, поэтому медлителен.
...
Рейтинг: 0 / 0
С прозрачностью Treeview и Listview никто не поможет?
    #38018981
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy,
что-то как-то не хочется так делать, не говоря о том что с этим надо еще долго разбираться.

Да бог с ним с деревом, в основном окне приложения (где красивости оправданы) мне нужны только Listview.
Но меня больше беспокоит:
с LVS_EX_DOUBLEBUFFER ничего не получается
Небольшая мелькалка на маленьком списке - это терпимо.

Но там другая проблемка:
Если делать без LVS_EX_DOUBLEBUFFER то возникают некот. визуальные проблемы с отображением шрифта.
Т.е. текст "слегка мутирует" - буквы могут становиться то чуть толще, то чуть тоньше и т.п. Причем на тестовом примере это почему-то не видно, а вставил в приложение, добовил Segoue 9 (хотя и с обычным MS Sans Serif 8 то же) и на тебе -строчка обновилась -буквы толще, мышкой провел -чуть раздвоились, еще провел - тонкие. Не так чтобы очень бросается, но все же.
Почему так может быть?
...
Рейтинг: 0 / 0
С прозрачностью Treeview и Listview никто не поможет?
    #38242533
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77Но меня больше беспокоит:
с LVS_EX_DOUBLEBUFFER ничего не получается
Небольшая мелькалка на маленьком списке...

Но там другая проблемка:
Если делать без LVS_EX_DOUBLEBUFFER то возникают некот. визуальные проблемы с отображением шрифта.
Т.е. текст "слегка мутирует" - буквы могут становиться то чуть толще, то чуть тоньше и т.п. ...

Тут обнаружил (и раньше это знал, но подзабыл), что очень плохо себя ведет
Код: vbnet
1.
ListView1.ListItems(j).SubItems(1) = "some text"


Хочу сказать что VB-шный вариант установки текста в Subitems (речь о Control 5!)
приводит чуть не к автоматическому обновлению всего ListView, походу к авто-вызову EnsureVisible если какой-то item selected,
и как итог к глючной прокрутке, которую не заказывали и лишней мелькалке.

Посему если допустим какие-то строчки (скажем отдельные subitem) обновляются достаточно часто по смыслу программы, я тут например решил в subitem "секундомер" засунуть (в белый тьфу-тьфу, не в прозрачный), то надо действовать однозначно через API.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Public Sub ListViewSetSubItemText(m_ListView As ComctlLib.ListView, m_Item As Long, m_subItem As Long, m_Text As String)
  Dim lvi As LV_ITEM
  With lvi
    .iItem = m_Item - 1
    .iSubItem = m_subItem
    .mask = LVIF_TEXT
    .pszText = m_Text
  End With
  Call SendMessage(m_ListView.hwnd, LVM_SETITEM, 0, lvi)
End Sub

ListViewSetSubItemText ListView1, j, 1, "some text"



Хотя конечно опять же не без проблем:

1. Эта функция, если пробовать ее применить к основному item (и listview не имеет картинок), т.е.
Код: vbnet
1.
ListViewSetSubItemText ListView1, j, 0, "some text"


неизменно вызывает crash приложения

Видимо .pszText определенный как As String все-таки не совсем правильно (по хорошему там IntPtr), неохота счас копаться, для subitem и так работает.

2. На "прозрачном" Listview в стиле "Explorer" (если строчка выделена ) обновление subitem по методу
Код: vbnet
1.
ListViewSetSubItemText ListView1, j, >>1<<<, "some text"


приводит к изменению "голубоватой прозрачной подсветки" на матовую только для subitem (а не всего item), это не очень красиво выглядит.
Поэтому для "прозрачного" listview пока эти мысли применить таки не смог, приходится менять все тексты "через VB".
...
Рейтинг: 0 / 0
С прозрачностью Treeview и Listview никто не поможет?
    #38251258
Alzhan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дмитрий77,

U menya tut vopros, ho4u sebe na c# sdelat listview prozra4nim, i ni kak ne polu4aetsya, mogli bi vi podskazat, a lu4she kod)
...
Рейтинг: 0 / 0
С прозрачностью Treeview и Listview никто не поможет?
    #38252162
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alzhansdelat listview prozra4nim... mogli bi vi podskazat, a lu4she kod[/
Ну и? Уже давно подсказал, выложил на блюдечке и обвел золотой каемочкой.
Принцип для прозрачного самого Listview:
13388443

Принцип для прозрачных headers:
А Header у Listview прозрачным сделать можно?
Оговорка: это сделано для "одного столбца", если их больше надо пытаться зарисовывать фоном каждый item персонально, я этого пока не пытался.

Крайняя работоспособная версия (в смысле проект и коды целиком), кот. включает подгонку высоты headers здесь:
Headers in ListView: проблема с картинками: высота и перерисовка.

Там же прилагается screenshort как это выглядит на XP и на Windows 8.
14269816

При желании header можно чуть подвинуть вправо пикселя на 2, делается через SetWindowPos без изменения высоты, в коде есть закомментированные строчки на эту тему. Но это увеличит к-во перерисовок, что при отсутствии double buffer еще увеличит мелькалку (а применить double buffer к данной модели прозрачности не получится)

А вот по поводу
Alzhanna c# sdelat
Как утверждалось выше:
AndreTM- так и пользуйте сразу тот фреймворк, который под это и заточен...
Я в C# почти не бум-бум но даю вам 99%, что автоматом вы это ни через какой готовый фреймворк не сделаете.
Т.е. по сути вам надо переписывать мои коды (как вариант) на C# с учетом техники применяемой в .net и C#.
Как делается сабклассинг и т.п. в .NET уж смотрите примеры где-нибудь.
А я извините на .NET пока забил.
...
Рейтинг: 0 / 0
С прозрачностью Treeview и Listview никто не поможет?
    #38252439
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это все для .net не подходит, там не common controls.
...
Рейтинг: 0 / 0
С прозрачностью Treeview и Listview никто не поможет?
    #38252443
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy.net... там не common controls.
Тогда я вообще не понимаю зачем этот .Net нужен.
Потому как нормальные винды насколько я для себя понял базируются именно на Common Controls.

Хочешь сказать, что все ListView и Treview что там есть от балды нарисованные создателями .Net?
И не имеют корней в тех что мы тут пользуем?

С другой стороны, что, нельзя создать в .Net тот же Listview через CreateWindowEx?
Но опять же, нафик тогда этот .Net вообще нужен.
...
Рейтинг: 0 / 0
С прозрачностью Treeview и Listview никто не поможет?
    #38252453
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
:)

На самом деле не нужно (конечному пользователю) именно то, что с таким трудом делаешь ты. Пользователю нужна простота и очевидность, а их можно достигнуть и без графических вычурностей.

Дмитрий77Потому как нормальные винды насколько я для себя понял базируются именно на Common Controls.До тех пор, пока metro полностью не вытеснит gdi.

Дмитрий77Но опять же, нафик тогда этот .Net вообще нужен.Для winforms-приложений действительно не особо нужен, но это процентов десять его возможностей.
...
Рейтинг: 0 / 0
С прозрачностью Treeview и Listview никто не поможет?
    #38252454
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77 Хочешь сказать, что все ListView и Treview что там есть от балды нарисованные создателями .Net?
И не имеют корней в тех что мы тут пользуем?На самом деле достоверно не знаю, сужу лишь по названиям классов окон - они другие (К слову, лабелы там являются окнами, а не рисунками на форме. Никчемная трата ресурсов.). Нужно сабклассить и разбирать механику, не исключено, что всё отличие лишь в названии класса.
...
Рейтинг: 0 / 0
С прозрачностью Treeview и Listview никто не поможет?
    #38253315
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyПользователю нужна простота и очевидность, а их можно достигнуть и без графических вычурностей.
С точки зрения функционала ДА. Но я над внешней простотой очень даже работаю. Кто тебе сказал что это не так?

AntonariyНа самом деле не нужно (конечному пользователю) именно то, что с таким трудом делаешь ты.
Программа должна иметь товарный вид, если хочешь получать денюжку.
Интерфейс, с ходу наваянный на VB6 через 6-е контролы (а хоть бы и через то что предлагает голый .Net) на семерке у любого пользователя вызовет естественный рвотный рефлекс и он прогу не купит. По крайней мере с полпинка сделает вывод что это дешевый самопал писанный "гавнокодами" в подпольных условиях.

Естественно, прозрачностью я не злоупотребляю.
Мне надо было создать морду софтфона.
Обычно рисуются скины где-нибудь в фотошопе и через кастом дро (и вряд ли это опять же легче чем делать прозрачность) худо бедно криво внедряются -при этом на разных ОС выглядит все это одинаково кривовато.
Я принял другое решение - все по максимуму прозрачно, юзер может менять картинку и подбирать 3-4 цвета шрифтов.
Вот и все скины (новая картинка - новый скин), а все контролы стандартные с неглючным функционалом и этот "родной" WIN стиль просматривается сквозь "прозрачности" что думаю производит хорошее впечатление, а возможности стандартного функционала стараюсь использовать по максимуму. Чем плохо? Вполне оправдано - это морда проги.
Что еще? "Строгий пользователь" может отключить всю эту "байду" и работать с "белым Listview", серыми кнопками, черным шрифтом - просто и очевидно без графических вычурностей.
Antonariy, по одежке встречают.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / С прозрачностью Treeview и Listview никто не поможет?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]