孙鑫VC++深入详解:Lesson3


问题: 如果创建2个button则会运行时出错.  

         在Win32中,直接用CreateWindow()创建2个buttons时,只要ID不同没有任何任何问题, 但是这里就是不行.

m_Btn.Create("按钮A",WS_CHILD|WS_VISIBLE|BS_DEFPUSHBUTTON,CRect(0,0,100,100),this,123); // 创建按钮123
m_Btn.Create("按钮B",WS_CHILD|WS_VISIBLE|BS_DEFPUSHBUTTON,CRect(100,100,200,200),this,12);//同时创建按钮12 Failed.


// Lesson3View.cpp : implementation of the CLesson3View class
//

#include "stdafx.h"
#include "Lesson3.h"

#include "Lesson3Doc.h"
#include "Lesson3View.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/
// CLesson3View

IMPLEMENT_DYNCREATE(CLesson3View, CView)

BEGIN_MESSAGE_MAP(CLesson3View, CView)
	//{{AFX_MSG_MAP(CLesson3View)
	ON_WM_CREATE()
	ON_WM_SIZE()
	ON_WM_LBUTTONDOWN()
	//}}AFX_MSG_MAP
	// Standard printing commands
	ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
END_MESSAGE_MAP()

/
// CLesson3View construction/destruction

CLesson3View::CLesson3View()
{
	// TODO: add construction code here

}

CLesson3View::~CLesson3View()
{
}

BOOL CLesson3View::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs

	return CView::PreCreateWindow(cs);
}

/
// CLesson3View drawing

void CLesson3View::OnDraw(CDC* pDC)
{
	CLesson3Doc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	// TODO: add draw code for native data here
}

/
// CLesson3View printing

BOOL CLesson3View::OnPreparePrinting(CPrintInfo* pInfo)
{
	// default preparation
	return DoPreparePrinting(pInfo);
}

void CLesson3View::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add extra initialization before printing
}

void CLesson3View::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add cleanup after printing
}

/
// CLesson3View diagnostics

#ifdef _DEBUG
void CLesson3View::AssertValid() const
{
	CView::AssertValid();
}

void CLesson3View::Dump(CDumpContext& dc) const
{
	CView::Dump(dc);
}

CLesson3Doc* CLesson3View::GetDocument() // non-debug version is inline
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CLesson3Doc)));
	return (CLesson3Doc*)m_pDocument;
}
#endif //_DEBUG

/
// CLesson3View message handlers
// 增加Create消息响应函数 OnCreate
int CLesson3View::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CView::OnCreate(lpCreateStruct) == -1)
		return -1;
	
	// TODO: Add your specialized creation code here
//	m_Btn.Create("按钮A",WS_CHILD|WS_VISIBLE|BS_DEFPUSHBUTTON,CRect(0,0,100,100),this,123); // 创建按钮123
	m_Btn.Create("按钮B",WS_CHILD|WS_VISIBLE|BS_DEFPUSHBUTTON,CRect(100,100,200,200),this,12);//同时创建按钮12 Failed.

//	m_Btn.ShowWindow(SW_SHOWNORMAL);
//	m_Btn.UpdateData();
	return 0;
}

// Size消息响应
void CLesson3View::OnSize(UINT nType, int cx, int cy) 
{
	CView::OnSize(nType, cx, cy);
	
	// TODO: Add your message handler code here
	static int flag =0;
	if(flag==0)
	{
	//	m_Btn.Create("按钮B",WS_CHILD|WS_VISIBLE|BS_GROUPBOX,CRect(100,100,200,200),this,1234);
		flag =1;
	}
	
}

// left button 消息响应
void CLesson3View::OnLButtonDown(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	static int flag =0;
	if(flag==0)
	{
	//	m_Btn.Create("按钮C",WS_CHILD|WS_VISIBLE|BS_AUTO3STATE,CRect(210,210,300,300),this,12345);
		flag =1;
	}

	CView::OnLButtonDown(nFlags, point);
}

   


   

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
孙鑫vc是一种特殊的混合编程语言,它结合了C语言和Verilog语言的特点。在深入详解孙鑫vc代码之前,我们先了解一下它的一些特性。 首先,孙鑫vc具有高度的可定制性。用户可以根据自己的需求选择C语言和Verilog语言中的特性来编写代码。这种灵活性使得孙鑫vc可以适用于不同的应用领域。 其次,孙鑫vc支持并行计算。它提供了一种简单而有效的方式来利用硬件资源进行并行计算,提高程序的执行效率。 另外,孙鑫vc还具有强大的调试功能。它能够在运行时对代码进行监控和调试,帮助开发者快速定位问题并进行修复。 深入详解孙鑫vc代码包括以下几个方面: 首先,我们可以从代码的结构和组织方式入手。孙鑫vc代码一般由多个模块组成,每个模块包含了各自的功能和接口。 其次,我们需要了解代码中使用的变量和数据类型。在孙鑫vc中,可以使用C语言和Verilog语言中的数据类型,如整型、浮点型等。了解这些数据类型的使用方法和限制对理解代码非常重要。 然后,我们需要分析代码中的控制流和算法。这包括了代码中的条件语句、循环语句等,以及算法的实现细节。通过对控制流和算法的分析,我们可以更好地理解代码的逻辑和实现原理。 最后,我们还需要关注代码中的接口和数据传输方式。在孙鑫vc中,模块之间通过接口进行数据的传递和交互。了解接口的定义和使用方式对于理解代码的功能和模块之间的关系非常重要。 综上所述,深入详解孙鑫vc代码需要从代码的结构和组织方式、变量和数据类型、控制流和算法、接口和数据传输方式等多个方面进行分析和理解。通过对这些方面的研究,我们可以更好地理解孙鑫vc代码,并且能够对代码进行修改和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值