Author |
Topic |
|
slimke
Novice
8 Posts |
Posted - 29 Oct 2014 : 23:44:09
|
hello,
my company bought a licence of the vb6 unicoce controls. They work and look pretty well.
But we consider some problems.
1st: - you load some items into the combobox using the ".additem" method - you click on the arrow to open up the combobox - you start writing inside the combobox (eg. "123") and the elements previously added to the combobox start scrolling to the wanted element "123" (compared to the text)
The ctlUniComboBoxXP Controls doesnt or i missed to set the right property. I tried each style but it didn't work.
2nd: - you do like described above (1st) - you leave the combobox by using the tab key - the old vb6 combobox closes the item preview - ctlUniComboBoxXP remains open.
i know i can use "ctlUniComboBoxXP.DropDown false" command to close the combobox but my program has about 200 comboboxes and that would't be nice to implement.
3rd: if you open up a ComboBox and you want to select the last visible item with the mouse icon the items start scrolling down which makes it almost impossible to select the last visible item using the mouse. The old vb6 standard combobox doesn't.
4th: the standard vb6 combobox automatically selects the text of an selected item. the ctlUniComboBoxXP doesn't.
5th: the ctlUniComboBoxXP has no List-Property in the UI-Designer.
i have a sample project but i can't upload it here in forum? Is there a chance to get an update of the combobox control to get the standard behaviour of the old control?
Thanks for listening Greetings from germany SLimke |
Edited by - slimke on 31 Oct 2014 05:57:54 |
|
s.dav
Site Admin
Italy
3364 Posts |
Posted - 31 Oct 2014 : 03:27:04
|
Slimke, check out our contact page and send me a sample which compares the old one with our. So I can check the issue and provide a solution (if possible) |
Regards, Davide |
|
|
s.dav
Site Admin
Italy
3364 Posts |
Posted - 03 Nov 2014 : 05:45:37
|
Problems 1,2,4 have been fixed (for point 4 I added a new property SelectOnFocus (false by default)) I tried to fix point 3 but I've not found a solution yet; this seems to be a standard windows behavior Point 5 is not necessary.
Please wait some days when I'll upload the new version |
Regards, Davide |
|
|
slimke
Novice
8 Posts |
Posted - 04 Nov 2014 : 00:35:00
|
Thanks very much for this quick fix!! This solves a lot of problems!!
But for the moment there is one more thing:
1st: - you load some items into the combobox using the ".additem" method - you click on the arrow to open up the combobox - you start writing inside the combobox (eg. "123") and the elements previously added to the combobox start scrolling to the wanted element "123" (compared to the text) - you push down arrow key and the original vb6 combobox selects the wanted element ("123") - the unicode combobox selects the first element
edit: "SelectOnFocus" works fine and is usefull but i meant something different:
- you open up a combobox - you select an item - the combobox closes - the text of the combobox item is selected
- the ctlUniComboBoxXP does not select the text after selecting an item |
Edited by - slimke on 04 Nov 2014 01:43:51 |
|
|
slimke
Novice
8 Posts |
Posted - 10 Nov 2014 : 05:37:55
|
Any news about this problem?
Greetings SLimke |
|
|
s.dav
Site Admin
Italy
3364 Posts |
Posted - 11 Nov 2014 : 04:29:43
|
Slimke,
I think you are using the Combo box in the wrong way
- when the combo is a ComboList you need to check the listindex because it accepts only values in list, the selected list value and the combo text value are always in sync - when the combo is a drop down combo you haven't to check the index, only the text, because it can contain also values not in list
You are right, our combo has this small difference but if you use it in the right way it is not important.
The standard combo box, selects the written value, only when you open the drop down list using the arrow button but if you write a text with the list opened and click away from the combo, it will use the old wrong listindex (that can be different from the value written in the box) so for a dropdowncombo the listindex and the value in the box can be different.
Also, the standard combobox selects every type of value, also values not in list. |
Regards, Davide |
|
|
slimke
Novice
8 Posts |
Posted - 06 Jan 2015 : 03:10:43
|
Hello Davide,
happy new year :)
1st: - you load some items into the combobox using the ".additem" method - you click on the arrow to open up the combobox - you start writing inside the combobox (eg. "123") and the elements previously added to the combobox start scrolling to the wanted element "123" (compared to the text) - you push down arrow key and the original vb6 combobox selects the wanted element ("123") - the unicode combobox selects the first element
This issue is causing some problems in our company now. I have a solution for this implemented to the keyUp Event of some of the most important comboboxes in our software.
The Code looks like this:
Public Sub PreSelectItemInComboBoxWhileTyping(ByRef comboBox As ctlUniComboBoxXP)
Static sTextOld As String
Dim i As Integer
Dim sPos As Integer
If comboBox.text = "" Then
comboBox.ListIndex = 0
End If
With comboBox
' Only when text has changed
If sTextOld <> .text Then
For i = .ListIndex To .ListCount - 1
If i >= 0 Then
If LCase$(.List(i)) Like LCase$(.text + "*") Then
sPos = .SelStart
sTextOld = .text
.text = .List(i)
.SelStart = sPos
.SelLength = Len(.text) - sPos + 1
.ListIndex = i
Exit For
End If
End If
Next i
End If
End With
End Sub
This code analyses the text written into a combobox and sets the ListIndex property to the element which is starting with the wanted text.
Isn't it possible to get this behaviour implemented in the ctlUniComboBoxXP on your side? It would be a lot of work to implement this to all of our comboboxes (> 200). On your homepage it says "Fully compatible with original VB6 controls" which means to me that the behaviour of your new unicode-controls should be like the behaviour of the original vb6-controls.
I hope we get this problem fixed soon.
Greetings from Germany SLimke |
|
|
s.dav
Site Admin
Italy
3364 Posts |
Posted - 07 Jan 2015 : 00:02:51
|
Hi Slimke,
happy new year to you :-)
As I've already told you, checking the listindex in a combo box of type "DropDown Combo" is not a good idea. I expained you that in many cases also the VB6 control doesn't have the right listindex (the listindex is not poining to the written value although it is present in the list) so I prefer not to add this behaviour on mine.
You should check the text on this type of combo boxes. The listindex should be used for Combo of type "DropDown List"
|
Regards, Davide |
|
|
slimke
Novice
8 Posts |
Posted - 30 Jan 2015 : 04:44:04
|
Hello davide,
thx very much again for information.
My users found another problem with the new combobox controls.
- select an item in a combobox which has style = 2 - eUniComboBox_DropDownComboXP - mark all text in comboBox - right click in combobox --> a contextmenu should be opened where you can copy the text etc. --> this context menu is missing --> ctrl + c works fine
could this be implemented? |
|
|
s.dav
Site Admin
Italy
3364 Posts |
Posted - 31 Jan 2015 : 13:02:37
|
I don't know if it is a standard behavior or VB6 standard controls implemented a custom context menu for this; I'll check |
Regards, Davide |
|
|
s.dav
Site Admin
Italy
3364 Posts |
Posted - 02 Feb 2015 : 00:07:09
|
now it should work as you expect; check the latest version on our site |
Regards, Davide |
|
|
|
Topic |
|