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

[Visual C++ MFC] Evento al hacer click a un boton en VS 2012

Estas en el tema de [Visual C++ MFC] Evento al hacer click a un boton en VS 2012 en el foro de C/C++ en Foros del Web. hola a todos, resulta que tengo que hacer un programa en Visual C++ con MFC. El problema esque he mirado en millones de sitios y ...
  #1 (permalink)  
Antiguo 28/03/2013, 10:30
 
Fecha de Ingreso: octubre-2012
Ubicación: Zaragoza
Mensajes: 6
Antigüedad: 11 años, 7 meses
Puntos: 0
Pregunta [Visual C++ MFC] Evento al hacer click a un boton en VS 2012

hola a todos, resulta que tengo que hacer un programa en Visual C++ con MFC. El problema esque he mirado en millones de sitios y soy incapaz de hacer que al darle a un boton haga CUALQUIER cosa.
Dejo el codigo que tengo.

Lo que intento es que al darle al boton suene un pitido.

Código:
// MainFrm.cpp : implementation of the CMainFrame class
//

#include "stdafx.h"
#include "afxwin.h"
#include "MFCButton.h"

#include "MainFrm.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#define ID_BTN1 11111111
#endif

// CMainFrame
IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)

const int  iMaxUserToolbars = 10;
const UINT uiFirstUserToolBarId = AFX_IDW_CONTROLBAR_FIRST + 40;
const UINT uiLastUserToolBarId = uiFirstUserToolBarId + iMaxUserToolbars - 1;

void evento();

BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
	//---------------------------------------------------------------added by me
	ON_WM_LBUTTONDOWN()
	BN_CLICKED (ID_BTN1,evento)
	//---------------------------------------------------------------no more added
	ON_WM_CREATE()
	ON_COMMAND(ID_EDIT_COPY, &CMainFrame::OnEditCopy)
END_MESSAGE_MAP()

static UINT indicators[] =
{
	ID_SEPARATOR,           // status line indicator
	ID_INDICATOR_CAPS,
	ID_INDICATOR_NUM,
	ID_INDICATOR_SCRL,
};

// CMainFrame construction/destruction

CMainFrame::CMainFrame()
{
	// TODO: add member initialization code here
}

CMainFrame::~CMainFrame()
{
}

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
		return -1;

	if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
		!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
	{
		TRACE0("Failed to create toolbar\n");
		return -1;      // fail to create
	}

	if (!m_wndStatusBar.Create(this))
	{
		TRACE0("Failed to create status bar\n");
		return -1;      // fail to create
	}
	m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT));

	// TODO: Delete these three lines if you don't want the toolbar to be dockable
	m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
	EnableDocking(CBRS_ALIGN_ANY);
	DockControlBar(&m_wndToolBar);

	//---------------------------------------------------------------added by me
		
	b_button1=new CButton();
	b_button1->Create(_T("Come on ..."),WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,CRect(115,75,270,100),this,ID_BTN1);

	//---------------------------------------------------------------no more added

	return 0;
}

	//---------------------------------------------------------------added by me
void evento()
{
	MessageBeep(0x00000000L);
}
	//---------------------------------------------------------------no more added

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
	if( !CFrameWnd::PreCreateWindow(cs) )
		return FALSE;
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs

	return TRUE;
}

// CMainFrame diagnostics

#ifdef _DEBUG
void CMainFrame::AssertValid() const
{
	CFrameWnd::AssertValid();
}

void CMainFrame::Dump(CDumpContext& dc) const
{
	CFrameWnd::Dump(dc);
}
#endif //_DEBUG


// CMainFrame message handlers
La creacion del boton es basicamente con esto:
Código:
b_button1=new CButton();
	b_button1->Create(_T("Come on ..."),WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,CRect(115,75,270,100),this,ID_BTN1);
Falta por meter un CButton *b_bbutton1; pero esta en otra clase que viene creada por defecto y se introducen alli los metodos.


Alguien sabe como hacer esto?
Gracias de antemano a todo el que lea este post porque de verdad, es imposible.

Etiquetas: c++, mfc, visual
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 17:36.