posts - 131, comments - 12, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

vc 如何建动态按钮

Posted on 2013-04-07 14:33 盛胜 阅读(360) 评论(0)  编辑 收藏 引用

vc 如何建动态按钮

 

在类的定义中,定义如下变量

[c-sharp] view plaincopy
  1. Cbutton m_btn;  

 

 

那么在类的成员函数中就可以使用了如下来创建按钮。

[c-sharp] view plaincopy
  1. m_btn.Create("动态创建的按钮",BS_DEFPUSHBUTTON|WS_VISIBLE|WS_CHILD,CRect(0,0,100,100),this,123);  

 

注,创建第二次的时候会出错。所以要用。

[c-sharp] view plaincopy
  1. M_btn. DestroyWindow();  

 

来释放再进行创建。

借由这个动态创建,弄清了一些MFC的构架,MFC是基于所有的类而得出的成果,一个类派生与另一个基类,从CWnd到CDialog就是一个很好的例子。CDialog派生与CWnd。

如果我要创建一个按钮,就必须用CDialog定义一个新的变量,这个变量就成了一个按钮,我就可以利用这个按钮类进行 各类操作,例如定义其的大小,风格。

 

皆由此可见,所有的窗口都是一个类定义来的。无论是按钮,标签,ComBox,List等等,都可以使用这个方法进行创建。

在编辑代码方面,VC与VB就有了,对于用户来说,就有了本质上的差别,VB的或许更加方便,而VC需要处理的细节太多了。


//创建按钮 
CButton   *m_pBt1   =   new   CButton();     
ASSERT_VALID(m_pBt1); 
m_pBt1-> Create(_T("进入[A]"),   WS_GROUP ¦WS_CHILD ¦WS_VISIBLE ¦BS_PUSHBUTTON,   CRect(10,10,20,20),   this,   IDC_AUTOCUT_POSTEACH   );         
m_pBt1-> MoveWindow(0,   152,   100,   100);   
//修改风格   
HWND       hwnd=m_pBt1-> GetSafeHwnd();       
long       lStyle=GetWindowLong(hwnd,GWL_EXSTYLE); 
SetWindowLong(hwnd,GWL_EXSTYLE,lStyle ¦WS_EX_DLGMODALFRAME);               
::SetWindowPos(hwnd,0,   12,   55,   55,   111,   SWP_NOREPOSITION ¦SWP_NOACTIVATE ¦SWP_NOMOVE ¦SWP_FRAMECHANGED);


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理