资源描述:
《VC动态创建对话框和按钮、消息响应.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、vc动态创建对话框和按钮、消息响应1.创建非模态对话框:类*对象=new类BOOL对象->Create(ID,this);创建后需调用ShowWindow函数将对话框显示出来对象->ShowWindow(SW_SHOW);在非模态对话框中点击确定和取消时,对话框并不销毁,而是隐藏起来,要想销毁,需调用DestroyWindow函数2.动态创建按钮:方法1为要加按钮的类添加一个私有的CButton成为变量m_btn,还要添加一个BOOL型的私有成员量m_bIsCreated用来确定是否创建了按钮if(m_
2、blsCreated==FALSE)////判断如果没有创建按钮{m_btn.Create("new",/////按钮上显示的文本BS_DEFPUSHBUTTON
3、WS_VISIBLE
4、WS_CHILD,///如果没有制定WS_VISIBLE还要调用ShowWindow将其显示出来CRect(0,0,100,100),/////左上角的坐标(0,0),长度为100,100this,123);ID地址为123m_blsCreated=TRUE;}else{m_btn.DestroyWindow();m_b
5、lsCreated=false;}方法2用CWnd类的成员对象m_hWnd用来保存与窗口对象相关联的窗口句柄,如果窗口对象没有与任何窗口相关联,该值为NULLif(!m_btn.m_hWnd){m_btn.Create("new",BS_DEFPUSHBUTTON
6、WS_VISIBLE
7、WS_CHILD,CRect(0,0,100,100),this,123);m_blsCreated=TRUE;}else{m_btn.DestroyWindow();m_blsCreated=false;}按钮的动态创
8、建,及添加消息响应函数btn3=newCButton();btn3->Create("按钮3",BS_PUSHBUTTON
9、WS_VISIBLE
10、WS_CHILD,CRect(250,250,320,270),this,10003);其中最后一个参数10003,是ID号,一定要大于100,因为100以内为VC编译系统使用.按钮消息响应(1)先在CMy12View类中加入afx_msgvoidPushButton3();(2)加入消息函数对应代码BEGIN_MESSAGE_MAP(CMy12View,CV
11、iew)ON_BN_CLICKED(10003,PushButton3)END_MESSAGE_MAP()(3)编写PushButton3()voidCMy12View::PushButton3(){AfxMessageBox("Button3ispushed!");//MessageBeep(-1);}//不用在CMy12View.h中定义:public:voidCMy12View::PushButton3()