Cтандартный Combobox

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

Cтандартный Combobox

Сообщение Paul74 » 09.12.2003 (Вт) 11:37

Может кто знает как убрать рамку у combobox (WinAPI)?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 10.12.2003 (Ср) 11:26

Рамка - это стиль окна.
Константы WS_BORDER, WS_EX_CLIENTEDGE.
Устанавливаются через SetWindowLong
После этого нужно вызвать SetWindowsPos с флагом SWP_FRAMECHANGED.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Paul74
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 20.12.2002 (Пт) 13:40
Откуда: Ukraine

Ничего не получается

Сообщение Paul74 » 10.12.2003 (Ср) 12:33

Спасибо, конечно, за ответ.
Но ничего что-то не получается.

Кстати не думал, что это такой сложный вопрос...(написал ещё на пару форумов - никто не ответил).

Как только не писал...последний вариант

Dim i as long

i = GetWindowLong(Combo1.hwnd, GWL_STYLE)
i = i or &HF00000 ' (Not WS_BORDER)
i = SetWindowLong(Combo1.hwnd, GWL_STYLE, i)
i = SetWindowPos(Combo1.hwnd, 0, 0, 0, 0, 0, SWP_FRAMECHANGED Or SWP_NOMOVE Or SWP_NOSIZE Or SWP_SHOWWINDOW)
Что не так? (Вместо setWindowPos использовал SendMessageLong c константой SWP_FRAMECHANGED - нет результата)

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 10.12.2003 (Ср) 16:42

Никогда ты не снимешь биты с помощью Or.
Снимается так: NewStyle=OldStyle and not WS_BORDER
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Paul74
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 20.12.2002 (Пт) 13:40
Откуда: Ukraine

Сообщение Paul74 » 10.12.2003 (Ср) 17:17

Спасибо. Не помогло...
Ладно брошу этим заниматься.
(быстрее наверное написать свой контрол, а пока можно сверху
прикретить тектбокс без рамки - почти как надо получится)


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

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

Сейчас этот форум просматривают: SemrushBot, Yandex-бот и гости: 19

    TopList