网格控件的简单使用

一,新建一个BCG工程CBCGPMenuButton,基于对话框。

二,增加一个按钮,并关联一个CButton类型的变量m_btn1,然后手动将类型改CBCGPMenuButton成。

三,为这个按钮增加响应事件。

void CCBCGPMenuButtonDlg::OnButton1()

{

AfxMessageBox("士农学会!");

}

四,F5运行,鼠标单击Btn1,看看结果。结果纹丝不动。

五,在CCBCGPMenuButtonDlg::CCBCGPMenuButtonDlg中将m_bDefaultClick设置为TRUE。

m_btn1.m_bDefaultClick = TRUE;

六,在增加一个按钮并关联CBCGPMenuButton类型的变量m_btn2。增加响应事件。

七,在CCBCGPMenuButtonDlg::OnInitDialog()中为m_btn2设置菜单。

static CMenu menu;

menu.CreatePopupMenu();

menu.AppendMenu(MF_STRING,1,"士");

menu.AppendMenu(MF_STRING,2,"农");

menu.AppendMenu(MF_STRING,3,"工");

menu.AppendMenu(MF_STRING,4,"商");

m_btn2.m_hMenu = menu;

八,点击btn2任何地方,都会弹出菜单,如下图所示。

九,btn2的响应函数如下:

void CCBCGPMenuButtonDlg::OnButton2()

{

if( 1 == m_btn2.m_nMenuResult )

AfxMessageBox("士");

else if( 2 == m_btn2.m_nMenuResult )

AfxMessageBox("农");

else if( 3 == m_btn2.m_nMenuResult )

AfxMessageBox("工");

else if( 4 == m_btn2.m_nMenuResult )

AfxMessageBox("商");

if( m_btn2.m_bDefaultClick && 0 == m_btn2.m_nMenuResult )

AfxMessageBox("选择阶层");

}

十,在增加一个按钮并关联CBCGPMenuButton类型的变量m_btn3。CCBCGPMenuButtonDlg::CCBCGPMenuButtonDlg中将m_btn3的m_bStayPressed 设置成FALSE。这样按下的时候按钮外表不会发生变化。

m_btn3.m_bStayPressed = FALSE;

十一,在CCBCGPMenuButtonDlg::CCBCGPMenuButtonDlg中

m_btn2.m_bOSMenu = FALSE;

菜单的界面有变化。

源码下载:

菜单按钮的简单使用

时间: 2024-10-13 18:00:31

网格控件的简单使用的相关文章

网格控件的简单实用

一,新建一个BCG工程CBCGPGridCtrlSingle,基于对话框. 二,CCBCGPGridCtrlSingleDlg类定义变量. CBCGPGridCtrl m_grid; 三,CCBCGPGridCtrlSingleDlg::OnInitDialog对网格控件进行初始化. CRect r(0,0,200,200); m_grid.Create(WS_CHILD, r, this, 1); m_grid.ShowWindow(SW_SHOW); m_grid.InsertColumn 

Android动态加载XML文件及控件来简单实现QQ好友印象的功能

在android开发中,我们常常会遇到界面布局控件不确定的情况.由于某些功能的原因或者为了体现某些app的特色等这些原因会导致我们在实现界面布局时需要动态去加载一些控件,那么下面就来介绍一下如何用动态加载控件来简单实现QQ中好友印象的功能,其中也会提到如何来动态加载一个XML的配置文件. 那么要实现好友印象的功能,我们需要通过以下这几个步骤: 1.界面一开始需要加载一个EditText和Button控件,用于填写好友印象和添加好友印象: 2.需要新建一个arrays.xml,在xml文件中添加上

DevExpress XtraGrid网格控件示例三:获取当前处于编辑状态的值

使用下面的示例代码,以获得当前编辑的值. C# 1 string editingValue; 2 if(gridControl1.KeyboardFocusView.IsEditing) 3 editingValue = gridControl1.KeyboardFocusView.EditingValue.ToString(); DevExpress XtraGrid网格控件示例三:获取当前处于编辑状态的值,布布扣,bubuko.com

DevExpress XtraGrid网格控件示例六:自定义合并单元格

假设 "Order Date" 列中包含日期/时间值.如果视图的GridOptionsView.AllowCellMerge选项设置为true,若相邻两个单元格值是日期/时间值的话,这两个相邻单元格便会合并.下面的代码介绍了如何合并例单元格的日期部分,要覆盖默认的单元格合并机制,需要处理一下GridView.CellMerge事件. C# using DevExpress.XtraGrid.Views.Grid; // ... private void gridView1_CellMe

DevExpress XtraGrid网格控件示例四:初始化新建行的单元格

下面的代码显示了如何利用ColumnView.InitNewRow事件初始化新创建行的PurchaseDate字段: C# 1 using DevExpress.XtraGrid.Views.Grid; 2 private void gridView1_InitNewRow(object sender, InitNewRowEventArgs e) { 3 DevExpress.XtraGrid.Views.Grid.GridView view = sender as Grid.GridView

DevExpress XtraGrid网格控件示例五:验证终端用户输入的数据

本示例中禁用了无效的“colBudget”列单元格赋值.单元格值应该大于零且小于1,000,000.BaseView.ValidatingEditor事件处理检查输入值的有效性.如果出现无效的单元格赋值,BaseView.InvalidValueException事件会显示异常消息框.在这样情况下,调用GridView.HideEditor方法以便放弃所做的更改. C# 1 using DevExpress.XtraEditors.Controls; 2 // ... 3 private voi

DevExpress XtraGrid网格控件示例七:列过滤

Example 1: 下面的代码示例,展示了如何过滤开头字母为F的海运国家.利用ColumnFilterInfo 对象创建所需的过滤器.然后,为其分配GridColumn.FilterInfo属性. C# 1 using DevExpress.XtraGrid.Columns; 2 gridView1.Columns["ShipCountry"].FilterInfo = 3 new ColumnFilterInfo("[ShipCountry] LIKE 'F%'"

本示例主要展示如何在XtraGrid网格控件(包含在DevExpress WinForms套包中)的主视图中指定HyperLinkEdit控件作为列编辑器

首先,我们需要创建一个相应的repository item,并将其添加到EditorContainer.RepositoryItems属性所指定的repository items的内部集合中.然后,利用GridColumn.ColumnEdit属性,将repository item分配到列. C# 1 RepositoryItemHyperLinkEdit repHyperLink = new RepositoryItemHyperLinkEdit(); 2 gridControl1.Repos

Android ListView列表控件的简单使用

ListView 列表是我们经常会使用的控件, 如果想要自定义里面的显示的话是挺麻烦的, 需要新建XML.Class SimpleAdapter这两个文件, 较为麻烦. 如果我们只是想显示两.三行文字在上面, 却又不想那么麻烦呢? 那我们只要新建一个XML就够了.  这里以显示一个ListView项里三个TextView为例.  首先我们要创建一个XML文件, 这个XML文件是用来作为单个ListView项布局用的.  list_row.xml[java]<?xml version="1.