Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Insertar y visualizar en un activeX CListView

Estas en el tema de Insertar y visualizar en un activeX CListView en el foro de C/C++ en Foros del Web. HOla, estoy peleandome con una ventana de tipo Dialog que tiene insertado un ActiveX de tipo CListView. Quiero visualizar unas columnas con unos datos y ...
  #1 (permalink)  
Antiguo 02/07/2006, 13:05
 
Fecha de Ingreso: mayo-2006
Mensajes: 24
Antigüedad: 18 años, 5 meses
Puntos: 0
Insertar y visualizar en un activeX CListView

HOla, estoy peleandome con una ventana de tipo Dialog que tiene insertado un ActiveX de tipo CListView. Quiero visualizar unas columnas con unos datos y el codigo es el siguiente:

BOOL CMyListCtrl::Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID)
{
BOOL retval = CListCtrl::Create(dwStyle, rect, pParentWnd, nID);

// You can also set up any image lists and modify the style (e.g. set
// extended styles) here

// Insert the columns
int iCol = 0;
int iColNum;
// First column
iColNum = this->InsertColumn(iCol, _T("Col1"), LVCFMT_LEFT, 200);
ASSERT(iCol == iColNum);
iCol++;
// Second
iColNum = this->InsertColumn(iCol, _T("Col2"), LVCFMT_LEFT, 200);
ASSERT(iCol == iColNum);
//AfxMessageBox("MyListCtrl Create");
return (retval);
}


// Call this function from CMyListView::OnInitialUpdate() or
// a dialog's OnInitDialog() function
BOOL CMyListCtrl::Init()
{

int iRow = 0;
int iRowNum;
// Insert first item
iRowNum = this->InsertItem(iRow, _T("Item1"));
ASSERT(iRow == iRowNum);
iRow++;
// Second
iRowNum = this->InsertItem(iRow, _T("Item2"));
ASSERT(iRow == iRowNum);

// Insert subitem one
BOOL bResult = SetItemText(0, 1, _T("SubItem1"));
bResult = SetItemText(1, 1, _T("SubItem2"));
//AfxMessageBox("MyListCtrl Init");
return(bResult);
}//Init

Como veis estas funciones son de la clase CMyListCtrl que heredan de la clase CListCtrl. Ahora quiero q esto se vea en el activeX pero no lo he conseguido.
La clase q representa esta ventana Dialog se llama DialegFinestraLista y el codigo donde yo lo he intentado insertar esta aqui:

BOOL CDialegFinestraLista::Create(UINT nIDTemplate, CWnd* pParentWnd)
{
// TODO: Add your specialized code here and/or call the base class
AfxMessageBox("Entro en CreateLista");
DWORD dwStyle = WS_CHILD | WS_VISIBLE | WS_TABSTOP |
LVS_REPORT;
if(m_List){
AfxMessageBox("Entro en CreateLista_2");
m_List.m_ListCtrl.Create(dwStyle, CRect(0,0,0,0), this, IDC_LISTVIEWCTRL1);
m_List.m_ListCtrl.Init();

}

return CDialog::Create(nIDTemplate, pParentWnd);
}

donde m_List es la variable del activeX y m_ListCtrl es la tabla donde esta toda la informacion.

y desde aqui llamo a esta ventana:
void CDemoVisorDlg::OnAbrirVistaDialeg()
{
// TODO: Add your command handler code here
DWORD dwStyle = WS_CHILD | WS_VISIBLE | WS_TABSTOP |
LVS_REPORT;

m_ListaWindow=new CDialegFinestraLista();
if(m_ListaWindow!=NULL){
BOOL ret = m_ListaWindow->Create(IDD_DIALOG_LISTA,this);
if(!ret) //Create failed.
AfxMessageBox("Error creating Dialog");
m_ListaWindow->ShowWindow(SW_SHOW);

}
else{
AfxMessageBox("Error creant finestra html");
}
}

a ver si me ayudais a poder visualizarlo.
Como veis estoy trabajando con visual studio 2005 y en c++-
Muchas gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:03.