Вопрос по Combobox'у

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

Вопрос по Combobox'у

Сообщение Demonx » 17.01.2007 (Ср) 10:44

Как в стандартный combobox, когда печатаешь, вместить более 255 символов?
Изображение

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 17.01.2007 (Ср) 10:55

Никак! Да и незачем!
Весь мир матрица, а мы в нем потоки байтов!

Dmitriy2003
Постоялец
Постоялец
 
Сообщения: 690
Зарегистрирован: 27.05.2003 (Вт) 22:47
Откуда: Deutschland

Сообщение Dmitriy2003 » 17.01.2007 (Ср) 11:07

Код: Выделить всё

Private Const CB_LIMITTEXT = &H141
'
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" ( _
    ByVal hwnd As Long, _
    ByVal wMsg As Long, _
    ByVal wParam As Long, _
    lParam As Any) As Long

Private Sub Form_Load()
    Call SendMessage(Me.Combo1.hwnd, CB_LIMITTEXT, &H200, &H0)
End Sub
Dmitrich

Demonx
Бывалый
Бывалый
 
Сообщения: 237
Зарегистрирован: 25.06.2003 (Ср) 0:08
Откуда: Литва/Висагинас

Сообщение Demonx » 17.01.2007 (Ср) 11:11

Dmitriy2003 писал(а):
Код: Выделить всё
Private Const CB_LIMITTEXT = &H141
'
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" ( _
    ByVal hwnd As Long, _
    ByVal wMsg As Long, _
    ByVal wParam As Long, _
    lParam As Any) As Long

Private Sub Form_Load()
    Call SendMessage(Me.Combo1.hwnd, CB_LIMITTEXT, &H200, &H0)
End Sub


Спасибо!, а ещё на больше можно увеличить?
Изображение

Demonx
Бывалый
Бывалый
 
Сообщения: 237
Зарегистрирован: 25.06.2003 (Ср) 0:08
Откуда: Литва/Висагинас

Сообщение Demonx » 17.01.2007 (Ср) 11:12

Всё спасибо, сам догадался как =)
Изображение

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 17.01.2007 (Ср) 11:16

Что-то про SendMessage и CB_LIMITTEXT я и не подумал :(

Можно увеличить до &H7FFFFFE (134217726) символов
Весь мир матрица, а мы в нем потоки байтов!

Dmitriy2003
Постоялец
Постоялец
 
Сообщения: 690
Зарегистрирован: 27.05.2003 (Вт) 22:47
Откуда: Deutschland

Сообщение Dmitriy2003 » 17.01.2007 (Ср) 11:27

!Viper!

Я полагаю Вы вчера неплохо оттянульсь:wink:

&H7FFFFFFE=2147483646
Dmitrich

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 17.01.2007 (Ср) 11:53

Dmitriy2003
Пересчитай-ка еще раз кол-во F...
Лучший способ понять что-то самому — объяснить это другому.

Dmitriy2003
Постоялец
Постоялец
 
Сообщения: 690
Зарегистрирован: 27.05.2003 (Вт) 22:47
Откуда: Deutschland

Сообщение Dmitriy2003 » 17.01.2007 (Ср) 11:57

Ага, так Вы вчера всместе праздновали :)

MSDN писал(а):CB_LIMITTEXT
An application sends a CB_LIMITTEXT message to limit the length of the text the user may type into the edit control of a combo box.

CB_LIMITTEXT
wParam = (WPARAM) cchLimit; // maximum number of characters
lParam = 0; // not used; must be zero

Parameters
cchLimit
Value of wParam. Specifies the maximum number of characters the user can enter. If this parameter is zero, the text length is set to 0x7FFFFFFE characters.
Return Values
The return value is always TRUE.

Remarks
If the combo box does not have the CBS_AUTOHSCROLL style, setting the text limit to be larger than the size of the edit control has no effect.

The CB_LIMITTEXT message limits only the text the user can enter. It has no effect on any text already in the edit control when the message is sent, nor does it affect the length of the text copied to the edit control when a string in the list box is selected.

The default limit to the text a user can enter in the edit control is 30,000 characters.

Dmitrich

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 17.01.2007 (Ср) 12:06

А, ну так бы и написал - CB_LIMITTEXT = &H7FFFFFFE = 2147483646 :)
Лучший способ понять что-то самому — объяснить это другому.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 17.01.2007 (Ср) 15:19

нды... одна F потерялась иде то в калькуляторе ;)
Весь мир матрица, а мы в нем потоки байтов!


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

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

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

    TopList