Separador de controles para formularios MFC
La clase CLineStatic basada en CStatic dibuja además del texto una linea separadora dentro del ambito del control, en realidad es muy sencillo.
Modo de uso.
Para poder utilizar esta clase primero debemos incluir los archivos de codigo fuente de la clase CLineStatic:linestatic.hy linestatic.cpp al proyecto. Luego crear una instancia de la clase con los controles static deseados en los formularios y listo.
La imagen anterior muestra un control static en tiempo de diseño, al crear una instancia este control con la clase CLineStatic obtendremos el siguiente resultado en en tiempo de ejecución:
El control es una alternativa para ayudar a ordenar mejor nuestros formularios. La imagen siguiente muestra el uso de control en un formulario de datos.
Código fuente.
- Code: Seleccionar todo
- void CLineStatic::OnPaint()
- {
- CPaintDC dc(this); // device context for painting
- CRect rect;
- GetClientRect(&rect);
- DrawControl(&dc, rect);
- }
- void CLineStatic::DrawControl(CDC *pDC, CRect &m_rect)
- {
- CPoint a,b;
- CPen pen1,pen2;
- CString strText;
- pen1.CreatePen(PS_SOLID,1,::GetSysColor(COLOR_BTNSHADOW));
- pen2.CreatePen(PS_SOLID,1,::GetSysColor(COLOR_BTNHIGHLIGHT));
- pDC->SetBkColor(::GetSysColor(COLOR_BTNFACE));
- CPen *pOldPen = pDC->SelectObject (&pen1);
- pDC->MoveTo(m_rect.left ,m_rect.Height()/2);
- pDC->LineTo(m_rect.right ,m_rect.Height()/2);
- pDC->SelectObject (&pen2);
- pDC->MoveTo(m_rect.left ,m_rect.Height()/2+1);
- pDC->LineTo(m_rect.right ,m_rect.Height()/2+1);
- GetWindowText(strText);
- if(!strText.IsEmpty())
- {
- CFont *oldFont = pDC->SelectObject(&m_font);
- a = CPoint(m_rect.left + 10 ,m_rect.top);
- CSize fSize = pDC->GetTextExtent(strText);
- pDC->DrawState(a,fSize,strText,
- IsWindowEnabled()?DSS_NORMAL:DSS_DISABLED,
- TRUE, 0,(HBRUSH)NULL);
- pDC->SelectObject(&oldFont);
- }
- pen1.DeleteObject();
- pen2.DeleteObject();
- pDC->SelectObject(pOldPen);
- }
Historia
- 20 Nov 2003 - 1.0 Versión inicial.
Archivos Adjuntos
- linestatic_demo.zip54.6 KiB

Proyecto MFC que usa el separador, puedes usarlo como referencia. - linestatic_src.zip2.11 KiB

Código fuente de la clase para usarlo en tus proyectos.
Otros Artículos en esta sección
-
Chart para visual c++, control que visualiza gráficos de barra y sectores en un dialogo MFC, puedes utilizarlo en tus aplicaciones para enriquecerlo mostrando histogramas y gráficos de sectores.na forma de utilizar el control ActiveX MSFlexGrid en aplicaciones Visual C++ basadas en MFC, este control es útil para visualizar datos.El articulo muestra como utilizar MYSQL API para el acceso a bases de datos MySQL utilizando Visual C++ y MFC.¿Alguna duda? Sientete libre de hacer tus pruntas en nuestro:

foro deVisual C++ »
