You are on page 1of 7

CONTROL CHECK BOX

¿Que son los controles?

Son objetos que disponen de sus propias propiedades y métodos, y cuya utilidad es la de
facilitarnos el desarrollo de nuestras aplicaciones. Bueno, este intento de definición puede
haber quedado bien, pero para que lo tengáis más claro, tener en cuenta que en cualquier
aplicación con la que trabajamos estamos rodeados de controles. Quien no ha visto en
multitud de programas los botones ACEPTAR y CANCELAR, un cuadro para introducir texto,
una lista con datos, etc.. Pues todos ellos son controles y no tendremos que preocuparnos por
crearlos para nuestras aplicaciones sino que ya vienen con el paquete de VB, lo único que
tendremos que hacer es modificar sus propiedades: tamaño, color, etc.. para incorporarlos en
nuestras aplicaciones y asociarles el código necesario para que se comporten como esperamos
al ejecutar la aplicación.

CHECKBOX:

Un control CheckBox es una casilla de verificación que permite obtener dos estados: verdadero
si esta activada o falso si esta desactivada. Para obtener el valor de verdadero o falso se debe
hacer a través de la propiedad Checked.

El control CheckBox indica si una condición determinada está activada o desactivada. Se utiliza
habitualmente para presentar al usuario una selección de tipo Sí/No o Verdadero/Falso. Puede
utilizar grupos de casillas para mostrar múltiples opciones entre las cuales el usuario puede
elegir una o más.

El control casilla es similar al control de botón de radio, puesto que los dos se utilizan para
indicar una selección realizada por el usuario. Sólo difieren en que en un grupo de botones de
radio no se puede seleccionar más de un botón de radio. Sin embargo, en un grupo de casillas
es posible seleccionar tantas casillas como se desee.

Puede conectar una casilla a elementos de una base de datos mediante enlaces simples de
datos. También puede agrupar varias casillas por medio del control GroupBox.Esto resulta útil
para mejorar la apariencia visual y para el diseño de la interfaz de usuario, puesto que permite
mover juntos los controles agrupados por el diseñador de formularios.

Control check box

Propiedades del Control Check Box:

El control CheckBox tiene dos propiedades importantes: Checked y CheckState.

Ademas de la propiedad ThreeState.

 La propiedad Checked devuelve true o false.


 La propiedad CheckState devuelve Checked o Unchecked.
 La propiedad ThreeState se establece en true, CheckState también puede devolver
Indeterminate.

En el estado indeterminado, el cuadro se muestra con un aspecto atenuado para indicar que la
opción no está disponible.

Propiedad Valor por defecto Descripción

Alignment 0 – Left Justify Devuelve o establece para qué lado se va a orientar el icono del objeto.

Caption Varía Es el texto mostrado como titulo.

MaskColor Varía Devuelve o establece que color de la imagen va a ser el transparente.

Picture (Ninguno) Es la imagen que se mostrará en el CheckBox.

Style 0 – Standard 0 es el estándar de Windows. 1 es en modo grafico

UseMaskColor False Determina si se va a usar un color como mascara definido

Value 0 – Unchecked 0 es desactivado (predeterminado), 1 es activado y 2 es atenuado.

APLICACIONES:

1) Crear una Ventana basada en diálogo utilizando el MFC AppWizard que simule una boleta
de pago en la que se pida que se ingrese el nombre del trabajador, sus horas trabajadas,
horas extras, categoría (Maestro, Oficial ó Peón) y descuentos (AFP y EsSalud).

El pago por hora según categoría es el siguiente:

Maestro : S/. 8.00


Oficial : S/. 6.00
Peón : S/. 5.00

Los descuentos serán como sigue:

AFP : El 10% del sueldo bruto


EsSalud : El 3% del sueldo bruto

El pago por horas extras será el 40% más del pago por hora normal. El sueldo bruto será las
horas normales multiplicado por el pago por horas más el pago por horas extras
correspondientes. El sueldo neto será el sueldo bruto menos los descuentos.

Generar los controles indicados:

5 etiquetas
3 cajas de texto
2 cajas de grupo
3 botones de opción
2 casillas de verificación
1 botón de comando.

La ventana en tiempo de diseño deberá ser similar a esta:


Ahora procederemos a crear las variables miembros para los controles creados de la siguiente
manera:

En la función creada agregue las siguientes líneas de código para los cálculos:

Void Capp10Dlg::OnCalcular()
{ UpdateData(true);
double pagoHora = 0.00, extra = 0.00
switch (m_Categoria)
{
case 0: pagoHora = 8; break;
case 1: pagoHora = 6; break;
case 2: pagoHora = 5; }
extra = (pagoHora * 1.4) * m_HorasExtras;
double descuento1 = 0.00, descuento2 = 0.00;
char cad[15];
m_Resultados = “Boleta de pago del trabajador: ” + m_Nombres + “\n”;
itoa(m_HorasNormales,cad,10);
m_Resultados = m_Resultados + “Horas Trabajadas: ” + cad + “\n”;
itoa(m_HorasExtras,cad,10);
m_Resultados = m_Resultados + “Horas Extras: ” + cad + “\n”;
double sueldoBruto = 0.00;
sueldoBruto = (m_HorasNormales * pagoHora) + extra;
gcvt(sueldoBruto, 6, cad);
m_Resultados = m_Resultados + “Sueldo Bruto : ” + cad + “\n”;
double descuentoAFP = 0.00, descuentoEsSalud = 0.00;
if (m_AFP) ││ m_EsSalud)
{ m_Resultados = m_Resultados + “Descuentos: \n”;
if (m_AFP)
{
descuentoAFP = 0.1 * sueldoBruto;
gcvt(descuentoAFP, 6, cad);
m_Resultados = m_Resultados + “AFP: ”+ cad + “\n”;
}
if (m_EsSalud)
{
descuentoEsSalud = 0.03 * sueldoBruto;
gcvt(descuentoEsSalud, 6, cad);
m_Resultados = m_Resultados + “EsSalud: ”+ cad + “\n”;
}}
double sueldoNeto = 0.00;
sueldoNeto = sueldoNeto – (descuentoAFP + descuentoEsSalud);
gcvt(sueldoNeto, 6, cad);
m_Resultados = m_Resultados + “Sueldo Neto : ”+ cad + “\n”;
UpdateData(false); }

Presione las teclas CTRL + F5 para ejecutar la aplicación y verá una ventana similar a esta:

2) Crear un programa que muestre lo siguiente:


#using <mscorlib.dll>
#using <System.dll>
#using <lcnet.dll>
using namespace System;
void main(){
//declarando variables
String *m, *f, *n;
// capturando,cargando y convirtiendo
//los datos de la forma a las variables
m=lcnet::getparametro("M");
n=lcnet::getparametro("N");
f=lcnet::getparametro("F");
//construyendo y desplegando la pagina de salida
Console::WriteLine("Content-Type:text/html\n");
if ( String::Compare(m, S"on") == 0 )
{Console::WriteLine("masculino checado");} ;
if ( String::Compare(n, S"on") == 0 )
{Console::WriteLine(S"neutro checado");};
if ( String::Compare(f, S"on") == 0 )
{Console::WriteLine(L"femenino checado");};
}//fin main

3) Crear una aplicacion mostrando los siguiente:


Hacer doble click en el checkbox e implementar los siguientes eventos:
System::Void chkOperand1_CheckedChanged(Object ^ sender, EventArgs ^ e) {
if( chkOperand1->Checked == true)
chkOperand1->Text = "True";
else
chkOperand1->Text = "False"; }
Retornar al formulario
seguir haciendo para los siguientes checkbox:

System::Void chkOperand2_CheckedChanged(Object ^ sender, EventArgs ^ e{


if( chkOperand2->Checked == true)
chkOperand2->Text = "True";
else
chkOperand2->Text = "False";}

System::Void chkResult_CheckedChanged(Object ^ sender, EventArgs ^ e){


if( chkResult->Checked == true)
chkResult->Text = "True";
else
chkResult->Text = "False";}

System::Void btnNewOperation_Click(Object ^ sender, EventArgs ^ e) {


array<String ^> ^ strBooleanValues = { "True", "False" };
array<String ^> ^ strOperations = { "A ^ B", "A V B" };
Random ^ rnd = new Random();
chkOperand1->Text = strBooleanValues[rnd.Next(2)];
chkOperand2->Text = strBooleanValues[rnd.Next(2)];
if( chkOperand1->Text == "True")
chkOperand1->Checked = true;
else chkOperand1->Checked = false;

if( chkOperand2->Text == "True")


chkOperand2->Checked = true;
else
chkOperand2->Checked = false;
lblOperation->Text = strOperations[rnd.Next(2)]; }

System::Void btnCheckResult_Click(Object ^ sender, EventArgs ^ e){


// Logical Conjunction
if( lblOperation->Text == "A ^ B"){
// If A = true
if( chkOperand1->Checked == true){
if( chkOperand2->Checked == true){
if( chkResult->Checked == true){
// | A | B | A ^ B |
// | T | T | T |
MessageBox::Show("Bravo - Good Answer"); }
else if( chkResult->Checked == false) {
// | A | B | A ^ B |
// | T | T | F |
MessageBox::Show("Wrong - Get it right next time!"); }}
else if( chkOperand2->Checked == false) {
if( chkResult->Checked == false) {
// | A | B | A ^ B |
// | T | F | F |
MessageBox::Show("Bravo - Good Answer"); }
else if( chkResult->Checked == true){
// | A | B | A ^ B |
// | T | F | T |
MessageBox::Show("Wrong - Get it right next time!"); }}
else if( chkOperand2->Checked == false)
{ if( chkResult->Checked == false) {
// | A | B | A ^ B |
// | F | F | F |
MessageBox::Show("Bravo - Good Answer"); }
else if( chkResult->Checked == true)
{ // | A | B | A ^ B |
// | F | F | T |
MessageBox::Show("Wrong - Get it right next time!"); }}}}
else if( lblOperation->Text == "A V B") // Logical Disjunction: {
// If A = true
if( chkOperand1->Checked == true){
if( chkOperand2->Checked == true) {
if( chkResult->Checked == true) {
// | A | B | A V B |
// | T | T | T |
MessageBox::Show("Bravo - Good Answer"); }
else if( chkResult->Checked == false) {
// | A | B | A V B |
// | T | T | F |
MessageBox::Show("Wrong - Get it right next time!"); }}}}}

System::Void btnClose_Click(Object ^ sender, EventArgs ^ e) {


Close(); }

You might also like