Programación General > Visual C++

 Ayuda Con List Box Y Combo Box

(1/1)

delasierra:
soy novato en visual c++ y necesito saber como ingresar datos en el list box y al momento de seleccionar un dato del list box y del combo box como poder enviarlo a un static text. gracias de antemano.

navisoft:
Para insertar los elementos en el control puedes escribir el siguiente codigo en la funcion OnInitDialog


--- Código: Text --- CListBox* pListBox = (CListBox*)GetDlgItem(IDC_LISTBOX1);pListBox->AddString("uno");pListBox->AddString("dos");pListBox->AddString("tres");pListBox->AddString("cuatro");  

Para acceder a los elementos e insertarlos en un control Edit:


--- Código: Text --- CListBox* pListBox = (CListBox*)GetDlgItem(IDC_LISTBOX1);CEdit* pEdit = (CEdit*)GetDlgItem(IDC_EDIT1); if(pListBox->GetCurSel() >= 0){   CString str;   pListBox->GetText(pListBox->GetCurSel(),str);    pEdit->SetWindowText(str);}   

Todo sería mas facil si los tienes instanciados. Para eso puedes utilizar ClassWizard. En ese caso el codigo cambiaría:


--- Código: Text --- m_listBox.AddString("uno");m_listBox.AddString("dos");m_listBox.AddString("tres");m_listBox.AddString("cuatro");  
Para agregar el elemento:


--- Código: Text ---  if(m_listBox.GetCurSel() >= 0){   CString str;   m_listBox.GetText(m_listBox.GetCurSel(),str);    m_edit.SetWindowText(str);}   

delasierra:
Oye que bien funciona, pero el primer codigo porque con el segundo me tira errores, ahora tengo siempre otra interrogante como puedo hacer para que al seleccionar en el list box el "uno" me tire en una variable un precio "x", y con el combo box en que funcion tiro lo seleccionado en un static tex o un edit y el codigo para enviarlo

gracias de antemano sos de gran ayuda.

navisoft:
Para te recomiendo que administres tus precios en una base de datos y luego las recuperes.

Para eso te puede servir el control CDatacombo que lo puedes descargar de:

http://www.programacion.uni.cc/prj/vc/datacombo/


Nota: Adicionalmente en los controles CListBox y CComboBox se pueden almancenar una varible extra de tipo unsigned int.

control->SetItemData([indice],[valor]);

para obtener el valor almacenado

uint valor = control->GetItemData([indice]);

delasierra:
gracias me ha servido  de mucha ayuda :hola:  :comp:

Navegación

[0] Índice de Mensajes

Ir a la versión completa