Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
resize of combobox does not work
Hi,
I have a form with a combobox. Its width is set to 78 using the properties gui, 1st column is bound and 2 columns should display when open. The rowsource of the combobox is a 2 column range, set in code, works fine. These 2 colums combined are broader than 78, so while it is clicked open, I want the combobox to resize to 100, overlapping the controls to its right. After the user makes her selection, I want to resize back to 78. Below the eventhandlers concerned. The _change event is 'the revert to normal' part. I fires allright, but not only does the combobox remain at 100, its arrow disappears. Repainting doesn't do anything. What does work is to insert a msgbox after setting the width ??? When OK'd, the combobox width is back to 78, with arrow. thx for any advice Ward Private Sub afdeling_Change() artikeldimensies.afdeling.Width = 78 'msgbox "I was here" End Sub Private Sub afdeling_DropButtonClick() artikeldimensies.afdeling.Width = 100 End Sub |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
resize of combobox does not work
forgot to mention :
Excel 2007 sp2 |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
resize of combobox does not work
Have you thought about just using the _enter and _exit events?
They seemed to work ok for me. Option Explicit Private Sub afdeling_Enter() Me.afdeling.Width = 100 'Me.Repaint End Sub Private Sub afdeling_Exit(ByVal Cancel As MSForms.ReturnBoolean) Me.afdeling.Width = 50 'Me.Repaint End Sub Private Sub UserForm_Initialize() Dim iCtr As Long For iCtr = 1 To 10 Me.afdeling.AddItem "AAAAAA" & iCtr Next iCtr Me.TextBox1.SetFocus Me.afdeling.Width = 50 End Sub I added the me.repaint lines just to make sure the form gets updated correctly. But they didn't seem necessary. The userform updated nicely. I left the lines in the code in case you had trouble and wanted to uncomment them to test to see if that helped. ps. I used the Me keyword. That represents the object that owns the code. That way, I don't need to know (or provide) the name of the userform within the code. pps. The combobox width stays wide until the user activates a different control. That doesn't seem like a bad idea from a user standpoint to me. I could see what I chose. On 06/15/2010 07:03, King Albert II wrote: Hi, I have a form with a combobox. Its width is set to 78 using the properties gui, 1st column is bound and 2 columns should display when open. The rowsource of the combobox is a 2 column range, set in code, works fine. These 2 colums combined are broader than 78, so while it is clicked open, I want the combobox to resize to 100, overlapping the controls to its right. After the user makes her selection, I want to resize back to 78. Below the eventhandlers concerned. The _change event is 'the revert to normal' part. I fires allright, but not only does the combobox remain at 100, its arrow disappears. Repainting doesn't do anything. What does work is to insert a msgbox after setting the width ??? When OK'd, the combobox width is back to 78, with arrow. thx for any advice Ward Private Sub afdeling_Change() artikeldimensies.afdeling.Width = 78 'msgbox "I was here" End Sub Private Sub afdeling_DropButtonClick() artikeldimensies.afdeling.Width = 100 End Sub -- Dave Peterson |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
resize of combobox does not work
You got me thinking and I figured it out.
Within the _change eventhandler I needed to set focus to the adjacent control. thx for your help Ward. Private Sub afdeling_Change() Me.segment.SetFocus Me.afdeling.Width = 78 End Sub Private Sub afdeling_DropButtonClick() Me.afdeling.Width = 100 End Sub Dave Peterson wrote in : Have you thought about just using the _enter and _exit events? They seemed to work ok for me. Option Explicit Private Sub afdeling_Enter() Me.afdeling.Width = 100 'Me.Repaint End Sub Private Sub afdeling_Exit(ByVal Cancel As MSForms.ReturnBoolean) Me.afdeling.Width = 50 'Me.Repaint End Sub Private Sub UserForm_Initialize() Dim iCtr As Long For iCtr = 1 To 10 Me.afdeling.AddItem "AAAAAA" & iCtr Next iCtr Me.TextBox1.SetFocus Me.afdeling.Width = 50 End Sub I added the me.repaint lines just to make sure the form gets updated correctly. But they didn't seem necessary. The userform updated nicely. I left the lines in the code in case you had trouble and wanted to uncomment them to test to see if that helped. ps. I used the Me keyword. That represents the object that owns the code. That way, I don't need to know (or provide) the name of the userform within the code. pps. The combobox width stays wide until the user activates a different control. That doesn't seem like a bad idea from a user standpoint to me. I could see what I chose. On 06/15/2010 07:03, King Albert II wrote: Hi, I have a form with a combobox. Its width is set to 78 using the properties gui, 1st column is bound and 2 columns should display when open. The rowsource of the combobox is a 2 column range, set in code, works fine. These 2 colums combined are broader than 78, so while it is clicked open, I want the combobox to resize to 100, overlapping the controls to its right. After the user makes her selection, I want to resize back to 78. Below the eventhandlers concerned. The _change event is 'the revert to normal' part. I fires allright, but not only does the combobox remain at 100, its arrow disappears. Repainting doesn't do anything. What does work is to insert a msgbox after setting the width ??? When OK'd, the combobox width is back to 78, with arrow. thx for any advice Ward Private Sub afdeling_Change() artikeldimensies.afdeling.Width = 78 'msgbox "I was here" End Sub Private Sub afdeling_DropButtonClick() artikeldimensies.afdeling.Width = 100 End Sub |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Combobox - MatchRequired does not work? | Excel Programming | |||
if not isempty combobox does not work ? | Excel Programming | |||
How can I attach a combobox to a cell and have it resize if the column width is alterd | Excel Programming | |||
VBA help doesn't work: Stuck with resize cursor | Excel Programming |