Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Can anyone please help me, I'm trying to adjust the dropdown list of
the combobox but I need the exact string size. I already searched the net and found that it is computed in pixels and used an API SendMessage For i = 0 To cCmb.ListCount - 1 lResult = SendMessage(hWnd, CB_GETLBTEXTLEN, _ i, ByVal 0) 'MsgBox lResult If (lResult lItemMaxLen) Then sItemText = cCmb.List(i) lItemMaxLen = lResult End If 'MsgBox cCmb.List(i) 'MsgBox lItemMaxLen Next i The problem is that I don't know how can I obtain the handle for the combobox. I also found a code saying how to manipulate the "Name box" and tried to change other parts but it didnt work. Please help me... Thanks a lot in advance... |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
If you looking for the handle of a combobox that you have placed on a
worksheet, AFAIK you are out of luck, as its handle is not exposed. Hence no way to use API calls. The "Name Box" code would be (I guess) to change the combox normally to the left of the formula bar. This works, because its handle is exposed, so you can manipulate it. NickHK wrote in message oups.com... Can anyone please help me, I'm trying to adjust the dropdown list of the combobox but I need the exact string size. I already searched the net and found that it is computed in pixels and used an API SendMessage For i = 0 To cCmb.ListCount - 1 lResult = SendMessage(hWnd, CB_GETLBTEXTLEN, _ i, ByVal 0) 'MsgBox lResult If (lResult lItemMaxLen) Then sItemText = cCmb.List(i) lItemMaxLen = lResult End If 'MsgBox cCmb.List(i) 'MsgBox lItemMaxLen Next i The problem is that I don't know how can I obtain the handle for the combobox. I also found a code saying how to manipulate the "Name box" and tried to change other parts but it didnt work. Please help me... Thanks a lot in advance... |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thanks a lot NickHK! Atleast I need to end up my burden.
by the way, what does AFAIK means? NickHK wrote: If you looking for the handle of a combobox that you have placed on a worksheet, AFAIK you are out of luck, as its handle is not exposed. Hence no way to use API calls. The "Name Box" code would be (I guess) to change the combox normally to the left of the formula bar. This works, because its handle is exposed, so you can manipulate it. NickHK wrote in message oups.com... Can anyone please help me, I'm trying to adjust the dropdown list of the combobox but I need the exact string size. I already searched the net and found that it is computed in pixels and used an API SendMessage For i = 0 To cCmb.ListCount - 1 lResult = SendMessage(hWnd, CB_GETLBTEXTLEN, _ i, ByVal 0) 'MsgBox lResult If (lResult lItemMaxLen) Then sItemText = cCmb.List(i) lItemMaxLen = lResult End If 'MsgBox cCmb.List(i) 'MsgBox lItemMaxLen Next i The problem is that I don't know how can I obtain the handle for the combobox. I also found a code saying how to manipulate the "Name box" and tried to change other parts but it didnt work. Please help me... Thanks a lot in advance... |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
You could quite easier make a custom control (in VB6 maybe) that exposed
this as a property. Otherwise, no joy. And http://slang.acronymfinder.com/af-qu...&acronym=AFAIK NickHK "dantz" wrote in message oups.com... Thanks a lot NickHK! Atleast I need to end up my burden. by the way, what does AFAIK means? NickHK wrote: If you looking for the handle of a combobox that you have placed on a worksheet, AFAIK you are out of luck, as its handle is not exposed. Hence no way to use API calls. The "Name Box" code would be (I guess) to change the combox normally to the left of the formula bar. This works, because its handle is exposed, so you can manipulate it. NickHK wrote in message oups.com... Can anyone please help me, I'm trying to adjust the dropdown list of the combobox but I need the exact string size. I already searched the net and found that it is computed in pixels and used an API SendMessage For i = 0 To cCmb.ListCount - 1 lResult = SendMessage(hWnd, CB_GETLBTEXTLEN, _ i, ByVal 0) 'MsgBox lResult If (lResult lItemMaxLen) Then sItemText = cCmb.List(i) lItemMaxLen = lResult End If 'MsgBox cCmb.List(i) 'MsgBox lItemMaxLen Next i The problem is that I don't know how can I obtain the handle for the combobox. I also found a code saying how to manipulate the "Name box" and tried to change other parts but it didnt work. Please help me... Thanks a lot in advance... |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Fill handle turned into a move handle | Excel Discussion (Misc queries) | |||
Referencing a cell in another worksheet then using fill handle to continue pattern | Excel Discussion (Misc queries) | |||
Worksheet Combobox | Excel Discussion (Misc queries) | |||
How to handle "Invalid Worksheet Name" error programatically in VB | Excel Programming | |||
Copying Worksheet triggers Click event of combobox on another worksheet | Excel Programming |