Discusión sobre el artículo "Interfaces gráficas VII: Control "Pestañas" (Capítulo 2)" - página 2
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Por supuesto. )
La próxima actualización para esta clase(CTabs) será "Modo Tabulador Multilínea".
Como aquí (múltiples filas) :
Super. Lástima que por ahora las tablas y listas son sólo tablas y listas. Hasta ahora, prácticamente sólo sirven como visualización de datos sin ninguna interactividad.
Me gustaría, por supuesto, tomar y seleccionar las columnas / filas necesarias de listas / tablas, y realizar algunas manipulaciones con ellos - por ejemplo: hay una lista, poner casillas de verificación, o en general completamente seleccionado las filas necesarias, y se muestra en una ventana separada los datos generales sobre las filas seleccionadas .... Algo así sería super :)
Sin embargo, para poder hacer esto, es necesario añadir métodos para manipular estos datos. Tal vez ya existe, pero no lo sé?
Estupendo. Lástima que las tablas y las listas sean sólo tablas y listas. Hasta ahora, prácticamente sólo sirven como visualización de datos sin ninguna interactividad.
...
Para la mayoría de lo anterior, está todo ahí.
La selección de un elemento en las listas(CListView) genera un evento, que se puede utilizar para determinar qué elemento se ha seleccionado y qué valor actual se ha seleccionado.
Lo mismo ocurre en las tablas(CTable). Cuando se selecciona una fila de una tabla, se genera un evento, sus parámetros contienen el índice de la fila ( parámetro dparam), mediante el cual se pueden obtener los valores de las celdas de esta fila usando el método CTable::GetValue():
//---
Y en el modo de edición de celdas de la tabla se genera un evento, en cuyos parámetros (parámetro sparam) se puede obtener una cadena con número de columna, con número de fila y valor actual en la celda que se está editando, en el formato "columna_fila_texto".
Me gustaría, por supuesto, tomar y seleccionar las columnas / filas necesarias de listas / tablas, y realizar algunas manipulaciones con ellos - por ejemplo: hay una lista, poner casillas de verificación, o en general seleccionar las filas necesarias, y mostrar en una ventana separada los datos generales sobre las filas seleccionadas.... Algo así sería super :)
Voy a hacer clases separadas para las listas con casillas de verificación y botones de radio más tarde.
1.)
No encuentro una información, como puedo añadir controles simples CLabel o CEdit al formulario. (De objects.mqh)
No tienen una función como WindowPointer().
Puedo crear estos objetos, pero no puedo adjuntarlos a la ventana.
El
no funciona en este caso...
2.)
¿Es el CComboBox un objeto estático. ¿Es posible modificar la lista de elementos en el
ComboBox-Listview después de la creación del ComboBox?
Gracias.
Tol, algo que no puedo ganar... Hay dos ventanas. Desde la primera - desde el menú principal abrimos la segunda ventana, que tiene 4 pestañas con iconos. Cada pestaña tiene su propia tabla vinculada a ella.
El problema es el siguiente: al abrir la primera ventana, siempre está visible la tabla construida más recientemente, y no importa que antes de abrir la ventana se cambie programáticamente la pestaña a la necesaria - se selecciona como debe ser, pero la tabla que hay en ella no es la que está vinculada a ella, sino la más reciente.
Hice un ejemplo. Imagen de la primera ventana que se abre:
Capturas de pantalla de la plataforma de comercio MetaTrader
EURUSD, D1, 2016.11.03
MetaQuotes Software Corp., MetaTrader 5, Demo
Como se puede ver, la pestaña 1 está resaltada, pero es visible la tabla que está vinculada a la pestaña 4 - está escrito en la propia tabla en los encabezados de las columnas.
Además, si cambia de pestaña, las tablas se colocan donde se supone que deben estar, he resaltado la segunda pestaña con el ratón:
MetaTrader plataforma de negociación capturas de pantalla
EURUSD, D1, 2016.11.03
MetaQuotes Software Corp., MetaTrader 5, Demo
De vuelta a la primera:
Capturas de pantalla de la plataforma de comercio MetaTrader
EURUSD, D1, 2016.11.03
MetaQuotes Software Corp., MetaTrader 5, Demo
¿Qué estoy haciendo mal? ¿O es un error?
Archivos en el trailer. Indicador.
...
¿Qué estoy haciendo mal? ¿O es un error?
Funciona correctamente con las pestañas CTabs . Pero para las pestañas CIconTabs todavía no he hecho matrices personales en el motor de la biblioteca y la visualización automática del contenido de la pestaña seleccionada al abrir un cuadro de diálogo. Esto se arreglará en la próxima actualización.
Pero como solución temporal, ya puedes rastrear la apertura de un cuadro de diálogo en una clase personalizada y actualizar las pestañas como se muestra en el siguiente listado:
//| Manejador de eventos|
//+------------------------------------------------------------------+
void CProgram::OnEvent(const int id,const long &lparam,const double &dparam,const string &sparam)
{
if(id==CHARTEVENT_CUSTOM+ON_OPEN_DIALOG_BOX)
{
if(lparam==m_window2.Id())
m_icon_tabs.ShowTabElements();
}
}
Funciona correctamente con pestañas de tipo CTabs . Pero para las pestañas CIconTabs todavía no he hecho matrices personales en el motor de la biblioteca y la visualización automática del contenido de la pestaña seleccionada al abrir una ventana de diálogo. Esto se arreglará en la próxima actualización.
Pero como solución temporal ahora mismo ya puedes rastrear la apertura de un cuadro de diálogo en una clase personalizada y actualizar las pestañas como se muestra en el listado de abajo:
//| Manejador de eventos|
//+------------------------------------------------------------------+
void CProgram::OnEvent(const int id,const long &lparam,const double &dparam,const string &sparam)
{
if(id==CHARTEVENT_CUSTOM+ON_OPEN_DIALOG_BOX)
{
if(lparam==m_window2.Id())
m_icon_tabs.ShowTabElements();
}
}
Estoy intentando añadir un campo de entrada a una pestaña pero no funciona.
entonces la función.
este objeto no esta adjunto al Panel pero esta en el grafico.
y despues de borrar el grafico el objeto permanece