Im trying to have the item list in a drop down combobox change after its selected but im having a brain fart
in the combobox properties i have set:
style = combo
list = A|B|C|.. etc
Events i have set:
Selchanged
here is the code im starting with
(defun c:dwg-num_New_ComboBox1_OnSelChanged (ItemIndex ItemValue /)
(if (= ItemValue "A")
(progn
(dcl_ComboBox_Clear dwg-num_New_ComboBox1)
(dcl_Control_SetText dwg-num_New_ComboBox1 "a-12345")
;(dcl_Control_SetList dwg-num_New_ComboBox1(list "a-12345"))
)
)
)
so when the project is loaded in the combo box you will see
A
B
C
.. etc
when A is selected i want A to be replaced with a number (example A-12345) that will be generated by which letter is selected
my problem (right now) is that i cannot get the A-12345 to appear.
the whole list clears but trying to "set" the item just makes it blank.
if i use the "setlist" function it puts the number there, but i have to then go back to the combo box and reselect it.
what am i missing/doing wrong?
how can i get it to show and without having to go back to the drop down and selecting it?
Quote from: andrew on February 22, 2013, 06:46:36 AM
if i use the "setlist" function it puts the number there, but i have to then go back to the combo box and reselect it.
So just use the (dcl_ComboBox_SetCurSel) function.
Example:
(defun c:TestCombo ( / lst)
(setvar 'cmdecho 0)
(command "OPENDCL")
(setvar 'cmdecho 1)
(setq lst '("AA" "BB" "CC" "DD" "EE"))
(dcl_Project_Load "TestCombo" T)
(dcl_Form_Show TestCombo_Form1)
)
(defun c:TestCombo_Form1_ComboBox1_OnSelChanged (itemIndexOrCount value /)
(setq lst (subst (strcat value "-12345") value lst))
(dcl_Control_SetList TestCombo_Form1_ComboBox1 lst)
(dcl_ComboBox_SetCurSel TestCombo_Form1_ComboBox1 itemIndexOrCount)
)
(defun c:TestCombo_Form1_OnInitialize ()
(dcl_Control_SetList TestCombo_Form1_ComboBox1 lst)
)
Quote from: andrew on February 22, 2013, 06:46:36 AM
how can i get it to show and without having to go back to the drop down and selecting it?
If you use SetList to replace the dropdown list, you don't need to call Clear. You could also Clear and AddString (or AddList) to replace the dropdown list. In either case you have to SetCurSel to select something. SetText only sets the text in the edit control of the combo box.
thank you for the reply
setcursel was the ticket