Listbox без границ

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
killerb
Новичок
Новичок
 
Сообщения: 43
Зарегистрирован: 27.01.2005 (Чт) 23:08
Откуда: Днепропетровск

Listbox без границ

Сообщение killerb » 21.05.2005 (Сб) 22:46

Возможно ли в реале изменить цвет границы ListBox'а, либо вообще ее убрать ?
Жизнь - это карусель, на которой никому не дано удержаться надолго. Стивен Кинг

Alex Mals
Новичок
Новичок
 
Сообщения: 45
Зарегистрирован: 11.12.2004 (Сб) 18:09

Сообщение Alex Mals » 22.05.2005 (Вс) 6:33

Private Sub Form_Load()
List1.Appearance = 0
dwStyles = GetWindowLong(List1.hWnd, GWL_STYLE)
dwStyles = dwStyles And Not WS_BORDER
SetWindowLong List1.hWnd, GWL_STYLE, dwStyles
End Sub

slavutich_red
Начинающий
Начинающий
 
Сообщения: 1
Зарегистрирован: 13.11.2014 (Чт) 12:06

Re: Listbox без границ

Сообщение slavutich_red » 13.11.2014 (Чт) 12:17

Alex Mals писал(а):Private Sub Form_Load()

List1.Appearance = 0

dwStyles = GetWindowLong(List1.hWnd, GWL_STYLE)

dwStyles = dwStyles And Not WS_BORDER

SetWindowLong List1.hWnd, GWL_STYLE, dwStyles

End Sub



ПОДСКАЖИТЕ кто знает в чем может быть проблема:
нужно убрать границы у lstUchred: ListBox, для этого по приведенному примеру прописал:
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Dim dwStyles As Long

Private Sub Form_Load()
lstUchred.Appearance = 0
dwStyles = GetWindowLong(lstUchred.hwnd, GWL_STYLE)
dwStyles = dwStyles And Not WS_BORDER
SetWindowLong lstUchred.hwnd, GWL_STYLE, dwStyles

соответственно компилирую программу, ошибок не выдает, но и границы не стирает (у листбокса остаются черные границы-рамка)

Что я делаю не так? как убрать эту рамку?

Don Leno
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 421
Зарегистрирован: 13.10.2013 (Вс) 14:05

Re: Listbox без границ

Сообщение Don Leno » 09.02.2016 (Вт) 19:09

Private Const WS_BORDER = &H800000
Private Const GWL_STYLE = (-16)

Забыл добавить две константы.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 97

    TopList