Separata Ultima

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 25

21

Elaborado por: Ing. Máximo Obregón Ramos (511) 951629294 (WhatsApp)


22
LISTBOX Y COMBOBOX

Elaborado por: Ing. Máximo Obregón Ramos (511) 951629294 (WhatsApp)


23

void Cprog1Dlg::OnBnClickedButton2()
{m_lis.ResetContent();
// TODO: Agregue aquí su código de controlador de
notificación de control
}

void Cprog1Dlg::OnBnClickedButton3()
{m_lis.DeleteString(0);
// TODO: Agregue aquí su código de controlador de
notificación de control
}

void Cprog1Dlg::OnBnClickedButton4()
{ CString cad;
m_lis.GetText(1,cad);
m_cad=cad;
UpdateData(false);
// TODO: Agregue aquí su código de controlador de
notificación de control
}

void Cprog1Dlg::OnBnClickedButton5()
{ m_cad.Format(_T("%d elementos"),m_lis.GetCount());
UpdateData(false);
// TODO: Agregue aquí su código de controlador de
notificación de control
}

void Cprog1Dlg::OnBnClickedButton6()
{ m_cad.Format(_T("Elemento seleccionado=%d "),m_lis.GetCurSel());
UpdateData(false);
// TODO: Agregue aquí su código de controlador de
notificación de control
}

void Cprog1Dlg::OnBnClickedButton7()
{ m_lis.GetText(m_lis.GetCurSel(),m_cad);

Elaborado por: Ing. Máximo Obregón Ramos (511) 951629294 (WhatsApp)


24
UpdateData(false);
// TODO: Agregue aquí su código de controlador de
notificación de control
}

void Cprog1Dlg::OnBnClickedButton8()
{m_lis.DeleteString(m_lis.GetCurSel());
// TODO: Agregue aquí su código de controlador de
notificación de control
}

void Cprog1Dlg::OnBnClickedButton9()
{m_lis.InsertString(m_lis.GetCurSel(),_T("Hola "));
// TODO: Agregue aquí su código de controlador de
notificación de control
}

void Cprog1Dlg::OnBnClickedButton10()
{ int p=m_lis.GetCurSel();
m_lis.GetText(p,m_cad);
m_lis.DeleteString(p);
m_lis.InsertString(p,_T("Reemplazo... "));
// TODO: Agregue aquí su código de controlador de
notificación de control
}

PROGRAMA 1:

Elaborado por: Ing. Máximo Obregón Ramos (511) 951629294 (WhatsApp)


25

Elaborado por: Ing. Máximo Obregón Ramos (511) 951629294 (WhatsApp)


26

El código de la inicialización
m_a=2; m_b=8; m_h=0.1;
UpdateData(false);
return TRUE; // Devuelve TRUE a menos que establezca el
foco en un control
}

El código del botón

float f(float x)
{return sin(20/log(x))*exp(0.1*x);
}
void Cprog2Dlg::OnBnClickedButton1()
{float x; CString cad,linea,te;
UpdateData(true);
m_l1.ResetContent();m_l2.ResetContent();
for(x=m_a;x<=m_b;x+=m_h)
{linea.Format(_T("%.6f"),x);
cad.Format(_T("%.6f"),f(x));
linea=_T("(")+linea+_T(",")+cad+_T(")");
m_l2.AddString(linea);
if (f(x)>f(x+m_h) && f(x)>f(x-m_h))
m_l1.AddString(linea+" Máximo");
if (f(x)<f(x+m_h) && f(x)<f(x-m_h))
m_l1.AddString(linea+" Mínimo");

}
UpdateData(false);
}

Elaborado por: Ing. Máximo Obregón Ramos (511) 951629294 (WhatsApp)


27

Elaborado por: Ing. Máximo Obregón Ramos (511) 951629294 (WhatsApp)


28

initDialog()
m_a=1;
m_b=10;
m_h=0.3;
UpdateData(0);

Elaborado por: Ing. Máximo Obregón Ramos (511) 951629294 (WhatsApp)


29

float f(float x)
{return exp(0.1*x)*cos(x*x);
}

void Cprog2Dlg::OnBnClickedButton1()
{
float x;CString cad,lin; int i=1,j=1;
UpdateData(true);
m_l1.ResetContent();m_l2.ResetContent();
lin=" N x f(x)";
m_l1.AddString(lin);
lin="==========";
m_l1.AddString(lin);
for (x=m_a;x<=m_b;x+=m_h,i++)
{cad.Format(_T("%2d"),i);
lin=cad;
cad.Format(_T("%.2f"),x);
lin=lin+_T(") ")+cad;
cad.Format(_T("%10.4f"),f(x));
lin=lin+_T(" ")+cad;
m_l1.AddString(lin);
if (f(x)*f(x+m_h)<0)
{cad.Format(_T(" Raiz %2d =
%.3f"),j,x+m_h/2);
m_l1.AddString(cad);

Elaborado por: Ing. Máximo Obregón Ramos (511) 951629294 (WhatsApp)


30
m_l2.AddString(cad);
j++;
}
}
UpdateData(false);
}

Elaborado por: Ing. Máximo Obregón Ramos (511) 951629294 (WhatsApp)


31
CAMBIO DE FORMATO DE LAS LETRAS
CFont *f; CEdit *e;
f=new CFont;
f->CreateFontW(60,0,0,0,-450,0,0,0,0,0,0,0,0,_T("Times"));
e=(CEdit *)GetDlgItem(IDC_EDIT1); e->SetFont(f);
e=(CEdit *)GetDlgItem(IDC_EDIT2); e->SetFont(f);
e->SetWindowTextW(_T("Hola a todos"));

NUMEROS ALEATORIOS
srand(time(NULL));
d=rand()%51;

Elaborado por: Ing. Máximo Obregón Ramos (511) 951629294 (WhatsApp)


32
GRAFICOS
Ejemplo 1: Probando los comandos básicos de los trazos
CClientDC p(this);
POINT punto;
p.Rectangle(50,50,200,100);
p.Ellipse(50,50,200,100);
p.MoveTo(50,50);
p.LineTo(200,100);
punto.x=300;punto.y=50;
p.LineTo(punto);
p.SetPixel(100,90,RGB(255,0,0));

Ejemplo 2: Configurando grosor de las líneas, fondo y colores. Para ello


usaremos las clases CPen y CBrush.
CClientDC p(this);
POINT punto;
CPen t1,t2; CBrush f;
t1.CreatePen(PS_DOT,2,RGB(255,0,0));
f.CreateSolidBrush(RGB(240, 240, 0));
p.SelectObject(t1);p.SelectObject(f);
p.Rectangle(50,50,200,100);
t2.CreatePen(PS_DOT,2,RGB(0,0,255));
p.SelectObject(t2);
p.Ellipse(50,50,200,100);
p.MoveTo(50,50);
p.LineTo(200,100);
punto.x=300;punto.y=50;
p.LineTo(punto);
p.SetPixel(100,90,RGB(255,0,0));

Ejemplo 3: Dibujando con eventos(LButtonUp y MouseMove) y variables


globales
int cx,cy,c=0,r;
void Cpr1Dlg::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: Agregue aquí su código de controlador de mensajes
o llame al valor predeterminado
if (c==0)
{cx=point.x;
cy=point.y;
c++;

Elaborado por: Ing. Máximo Obregón Ramos (511) 951629294 (WhatsApp)


33
}
else
{CClientDC g(this);
CPen t; CBrush f;
t.CreatePen(PS_DOT,2,RGB(255,0,0));
f.CreateSolidBrush(RGB(240, 240, 240));
g.SelectObject(t);g.SelectObject(f);
r=sqrt(pow(point.x-cx,2.0)+pow(point.y-cy,2.0));
g.Ellipse(cx-r,cy-r,cx+r,cy+r);
c=0;
}
CDialogEx::OnLButtonUp(nFlags, point);
}

void Cpr1Dlg::OnMouseMove(UINT nFlags, CPoint point)


{
// TODO: Agregue aquí su código de controlador de mensajes
o llame al valor predeterminado
if (c==1)
{CClientDC g(this);
CPen t; CBrush f;
t.CreatePen(PS_DOT,2,RGB(255,0,0));
f.CreateSolidBrush(RGB(240, 240, 240));
g.SelectObject(t);g.SelectObject(f);
r=sqrt(pow(point.x-cx,2.0)+pow(point.y-cy,2.0));
this->RedrawWindow();
g.Ellipse(cx-r,cy-r,cx+r,cy+r);
g.MoveTo(cx,cy);
g.LineTo(point);
}
CDialogEx::OnMouseMove(nFlags, point);
}

Elaborado por: Ing. Máximo Obregón Ramos (511) 951629294 (WhatsApp)


34
Ejemplo 4:

int cx,cy,c=0,r;
void Cpr1Dlg::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: Agregue aquí su código de controlador de mensajes o llame al valor
predeterminado
if (c==0)
{cx=point.x;
cy=point.y;
c++;
}
else
{CClientDC g(this);

Elaborado por: Ing. Máximo Obregón Ramos (511) 951629294 (WhatsApp)


35
CPen t; CBrush f;
UpdateData(true);
switch (m_tc)
{case 0: t.CreatePen(PS_DOT,2,RGB(255,0,0));break;
case 1: t.CreatePen(PS_DOT,2,RGB(0,0,255));break;
case 2: t.CreatePen(PS_DOT,2,RGB(0,255,0));break;
case 3: t.CreatePen(PS_DOT,2,RGB(255,255,0));break;
}
f.CreateSolidBrush(RGB(240, 240, 240));
g.SelectObject(t);g.SelectObject(f);
r=sqrt(pow(point.x-cx,2.0)+pow(point.y-cy,2.0));
switch (m_tt)
{ case 0: g.MoveTo(cx,cy);
g.LineTo(point.x,point.y);break;
case 1: g.Rectangle(cx,cy,point.x,point.y);break;
case 2: g.Ellipse(cx-r,cy-r,cx+r,cy+r);break;
}
c=0;
}
CDialogEx::OnLButtonUp(nFlags, point);
}

Ejemplo 5: Usando un Timer


void Caq1Dlg::OnBnClickedButton1()
{ SetTimer(1,10,NULL);
// TODO: Agregue aquí su código de controlador de
notificación de control
}

int r=150;
float a=0,inc=0.5;
void Caq1Dlg::OnTimer(UINT_PTR nIDEvent)
{
// TODO: Agregue aquí su código de controlador de mensajes
o llame al valor predeterminado
if (nIDEvent==1)
{
CClientDC p(this);
CPen t1,t2;
int x0=200,y0=200;
int dx=r*cos(a*3.14/180);
int dy=-r*sin(a*3.14/180);
int x2=x0+dx; int y2=y0+dy;
dx=r*cos((a-inc)*3.14/180);
dy=-r*sin((a-inc)*3.14/180);

Elaborado por: Ing. Máximo Obregón Ramos (511) 951629294 (WhatsApp)


36
int x1=x0+dx; int y1=y0+dy;

t1.CreatePen(PS_DOT,4,RGB(240,240,240));
p.SelectObject(t1);
p.MoveTo(x0,y0);
p.LineTo(x1,y1);

t2.CreatePen(PS_DOT,4,RGB(255,0,0));
p.SelectObject(t2);
p.MoveTo(x0,y0);
p.LineTo(x2,y2);
a=a+inc;
}
CDialogEx::OnTimer(nIDEvent);
}

VENTANAS MODALES
Ejemplo: Proyecto se llama prog1
Se creara una clase por defecto llamada Cprog1Dlg que se asocia al cuadro de
dialogo principal

Elaborado por: Ing. Máximo Obregón Ramos (511) 951629294 (WhatsApp)


37

Obs:
• Cada cuadro de dialogo se corresponde con una clase.
• El nuevo de cuadro de dialogo deberá asociarse con una nueva clase.

Elaborado por: Ing. Máximo Obregón Ramos (511) 951629294 (WhatsApp)


38

#include "cuadro1.h" (esto se debe colocar al final de los #includes)


cuadro1 p;
p.DoModal();

Paso de datos a una subventanas.


void Cpg1Dlg::OnBnClickedButton1()
{ CnomDlg v;
UpdateData(true);
v.m_a=m_b;
v.DoModal();
m_b=v.m_a;
UpdateData(false);
// TODO: Agregue aquí su código de controlador de
notificación de control
}

Elaborado por: Ing. Máximo Obregón Ramos (511) 951629294 (WhatsApp)


39

void Cprogp1Dlg::OnBnClickedButton1()
{CClientDC g(this);
int i,x,y,r=20,np=10; float pi=atan(1.0)*4;
CPen cpr,cpa,cpv; CBrush cbr,cba,cby,cbd;
cpr.CreatePen(BS_SOLID,5,RGB(255,0,0));
cpa.CreatePen(BS_SOLID,5,RGB(0,0,255));
cpv.CreatePen(BS_SOLID,5,RGB(0,255,0));
cbr.CreateSolidBrush(RGB(255,0,0));
cba.CreateSolidBrush(RGB(0,0,255));
cby.CreateSolidBrush(RGB(255,255,0));
cbd.CreateSolidBrush(RGB(240, 240, 240));

g.SelectObject(cpr);g.SelectObject(cba);
for (i=0;i<=np;i++)
{x=r*cos(i*2.0*pi/np);
y=r*sin(i*2.0*pi/np);
g.MoveTo(200,200);
g.LineTo(200+x,200+y);
}
g.SelectObject(cpv);
g.Ellipse(10,10,200,200);g.SelectObject(cbd);
g.Rectangle(10,10,400,100);
g.SetPixel(100,100,RGB(255,0,0));
/* g.LineTo(400,100);
g.MoveTo(200,200);
g.LineTo(300,50);*/
// TODO: Agregue aquí su código de controlador de notificación
de control
}

void Cprogp1Dlg::OnLButtonUp(UINT nFlags, CPoint point)


{
// TODO: Agregue aquí su código de controlador de mensajes o
llame al valor predeterminado
CClientDC g(this);

Elaborado por: Ing. Máximo Obregón Ramos (511) 951629294 (WhatsApp)


40
CBrush cbr;cbr.CreateSolidBrush(RGB(255,0,0));
g.SelectObject(cbr);
int r=20;
g.Ellipse(point.x-r,point.y-r,point.x+r,point.y+r);

CDialogEx::OnLButtonUp(nFlags, point);
}

Elaborado por: Ing. Máximo Obregón Ramos (511) 951629294 (WhatsApp)


41

Elaborado por: Ing. Máximo Obregón Ramos (511) 951629294 (WhatsApp)


42
VENTANAS MODALES
#include "cuadro1.h" (esto se debe colocar al final de los #includes)
cuadro1 p;
p.DoModal();

Paso de datos a una subventanas.


void Cpg1Dlg::OnBnClickedButton1()
{ CnomDlg v;
UpdateData(true);
v.m_a=m_b;
v.DoModal();
m_b=v.m_a;
UpdateData(false);
// TODO: Agregue aquí su código de controlador de
notificación de control
}

VENTANAS NO MODALES
#include "cuadro1.h"

if (Create(cuadro1::IDD,pParent))
ShowWindow(SW_SHOW);

cuadro1 *p;
p=new cuadro1;

TIMER

Elaborado por: Ing. Máximo Obregón Ramos (511) 951629294 (WhatsApp)


43

void Cprog2Dlg::OnBnClickedButton1()
{ SetTimer(1,300,NULL);
SetTimer(2,1000,NULL);
}

void Cprog2Dlg::OnTimer(UINT_PTR nIDEvent)


{
UpdateData(true);
if (nIDEvent==(m_op+1))
m_n++;
UpdateData(false);
}

void Cpr3Dlg::OnBnClickedButton2()
{ KillTimer(1);
KillTimer(2);
}

CAMBIAR EL ORDEN DEL TAB


Para cambiar el orden presionar Ctrl + D y luego hacer click en cada uno para
definir el orden de marcación de los controles usando la tecla tab.

CAPTURA DE TECLA EN UNA CAJA

Elaborado por: Ing. Máximo Obregón Ramos (511) 951629294 (WhatsApp)


44
Agregar manualmente esta función miembro, en el .cpp y .h

BOOL CcapturateclaDlg::PreTranslateMessage(MSG*pMsg)
{if(GetFocus() && GetFocus()->GetDlgCtrlID()==IDC_EDIT1)
if (pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_RETURN)
{ AfxMessageBox(_T("Se presiono la tecla ENTER"));
//return true;
}
return CDialog::PreTranslateMessage(pMsg);
}

Para ver las otras constantes hacer click derecho sobre la constante e ir a
definición

Elaborado por: Ing. Máximo Obregón Ramos (511) 951629294 (WhatsApp)


45

Elaborado por: Ing. Máximo Obregón Ramos (511) 951629294 (WhatsApp)

También podría gustarte