CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

[框架窗体代码全部在内]为何无法生成一个按钮???

楼主Gutta(冯大狂)2006-03-16 21:06:10 在 VC/MFC / 基础类 提问

//主框架类  
  class   CMyWnd   :   public   CFrameWnd  
  {  
   
  public:  
  CMyWnd();  
  ~CMyWnd();  
   
  CButton   *mybtn;  
   
  BOOL   PreCreateWindow(CREATESTRUCT   &cs);  
   
  protected:  
  afx_msg   void   OnPaint();  
  DECLARE_MESSAGE_MAP();  
  };  
   
  //应用程序主窗体消息映射  
  CMyWnd::CMyWnd()  
  {  
  mybtn   =   new   CButton;  
  }  
   
  CMyWnd::~CMyWnd()  
  {  
  delete   mybtn;  
  }  
   
  BOOL   CMyWnd::PreCreateWindow(CREATESTRUCT   &cs)  
  {  
   
  mybtn->Create(_T("My   button"),   WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,CRect(10,40,100,70),   this,   1);                       //这句是网上看的,可是无法显示出这个按钮  
  return   CFrameWnd::PreCreateWindow(cs);  
  }  
   
   
   
  BEGIN_MESSAGE_MAP(CMyWnd,CWnd)  
  ON_WM_PAINT()  
  END_MESSAGE_MAP()  
   
   
  void   CMyWnd::OnPaint()  
  {  
  CPaintDC   DC(this);  
  DC.TextOut(50,50,_T("测试程序OnPaint"));  
  }  
  -----------------------------------------------------------------  
  各位大虾帮个忙,小弟刚刚起步~~~!!  
   
  还有就是怎么添加这个按钮的单击事件消息呢???请教~~!!!马上给分~ 问题点数:30、回复次数:6Top

1 楼striking(庸人自扰)回复于 2006-03-16 21:22:20 得分 10

mybtn->Create(_T("My   button"),   WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,CRect(10,40,100,70),   this,   1);                       //这句是网上看的,可是无法显示出这个按钮  
  不要放在PreCreateWindow   ,   PreCreateWindow表示窗口还没有建立成功.怎么会创建出按钮呢,  
   
  不信你看看它的返回值.    
   
  你要映射WM_CREATE,   在OnCreate()   创建.Top

2 楼Gutta(冯大狂)回复于 2006-03-16 21:25:31 得分 0

果然是这样!!  
   
  谢谢!!  
   
  还有个问题,就是怎么处理这个按钮消息啊????  
   
  请教请教~~~马上结帖!!Top

3 楼striking(庸人自扰)回复于 2006-03-16 21:46:56 得分 10

ON_COMMAND(   1,   OnButtonClick   );//因为你创建按钮的id是1..   建议改大点的.Top

4 楼striking(庸人自扰)回复于 2006-03-16 21:47:48 得分 0

错了.   是ON_BN_CLICKEDTop

5 楼Mackz(在相互)回复于 2006-03-16 22:33:04 得分 10

刚起步最好学会利用向导生成程序框架。Top

6 楼Gutta(冯大狂)回复于 2006-03-17 11:41:41 得分 0

其实我学习VC已经3年多了,就是断断续续的   。。。  
   
  惭愧哦   。。。  
   
  给分~!Top

相关问题

  • 窗体的按钮
  • 怎样做才能实现点击按钮动态生成一个窗体,关闭窗体后,同时释放内存。
  • 动态生成窗体
  • Access窗体按钮问题?
  • 为什么我的程序生成exe后,点窗体上的叉按钮退出后,在进程中仍能看到?怎么解决?
  • WindowsAPI下生成的窗体为模态窗体(新手)
  • mfc怎样生成透明的窗体
  • 急救!!动态窗体的生成
  • 动态窗体的生成的再问
  • modelmaker 怎样生成窗体文件?

关键词

  • ws
  • cmywnd
  • mybtn
  • 按钮
  • precreatewindow
  • onpaint
  • cs
  • map
  • message

得分解答快速导航

  • 帖主:Gutta
  • striking
  • striking
  • Mackz

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo