推荐答案
2010-7-5 22:49
Microsoft flexGrid control
控件比较常见。
【实现步骤】
1
.
当鼠标点击表格控件的某一格时,首先判断该列的属性,是直接编辑呢,还是用下拉
列表进行选择。
2
.
显示隐藏的文本控件或者下拉列表控件,显示的位置和大小与选中格的位置大小完全
相同,这样可以覆盖选中格
3
.
将选中格的内容填到文本控件或者下拉列表控件中
4
.
修改完毕后,将新的内容填到选中格中,同时隐藏文本控件或者下拉列表控件。
【主要程序段及说明】
变量定义:
CComboBox m_ChangeCombo
;
--
下拉列表控件,初始时不可见
CEdit
m_Change
;
---------------
文本控件,初始时不可见
CSring
m_sChange;----------------
与文本控件关联的字符串
CMSFlexGrid
m_FlexGrid
;
-----
表格控件
程序段:
表格点击事件:选中某一格后,就要显示相应的文本控件或者列表控件
void CChartInfoEditDlg::OnClickMsflexgrid()
{
//
点击无效区
,
返回
long lRow = m_FlexGrid.GetRowSel();//
获取点击的行号
long lCol = m_FlexGrid.GetColSel();
//
获取点击的列号