如果是可视化 *** 作,先加一控件,再拖放groupBox在其背后
如果动态创建控件,那就高度灵活,只要将其父控件理解成窗口,自然可以在该窗口中做任何东西,包括,再添加控件。
更多交流参考我空间文章发。
有2中方式:1:如果是VC6工程,左键选中控件,右键d出菜单 选择属性,有个 数据属性页,在里面填入数据,注意CTRL+ENTER是回车换行。
2:通过代码动态添加,比如 m_box.InsertString(0,"国企")
m_box.InsertString(1,"集体企业")
等等。
希望能帮到你。
1.定义成员变量:CComboBox
m_Cmb
、、将它与组合框控件关联,
CEdit
m_Edit;、、将它与编辑框控件关联,
int
m_row,m_col
//记录用户点击的那个单元格所在的行与列号
2.添加listctrl的单击响应消息主要是完成了单击后将控件显示出来。添加代码如下
void
CControllerDialogAdd::OnClickListDoor(NMHDR*
pNMHDR,
LRESULT*
pResult)
{
//
TODO:
Add
your
control
notification
handler
code
here
LPNMLISTVIEW
pNMTreeView
=
reinterpret_cast<LPNMLISTVIEW>(pNMHDR)
//
TODO:
在此添加控件通知处理程序代码
POINT
PT
GetCursorPos(&PT)
m_DoorList.ScreenToClient(&PT)
LVHITTESTINFO
hitInfo
hitInfo.pt=PT
//hitem=m_Tree.GetSelectedItem()
m_DoorList.SubItemHitTest(&hitInfo)
if(hitInfo.flags
&
LVHT_ONITEMLABEL)//判断是否单击在文本上
{
CRect
rect
//
m_DoorList.GetSubItemRect(hitInfo.iItem,hitInfo.iSubItem,LVIR_BOUNDS,rect)
m_DoorList.GetSubItemRect(hitInfo.iItem,hitInfo.iSubItem,LVIR_BOUNDS,rect)
if
(hitInfo.iSubItem==0)
{
rect.right=rect.left+m_DoorList.GetColumnWidth(0)
}
else
if(hitInfo.iSubItem==1)//对列进行判断在这里我是1,2为edit,3,4为combo
box
{
CString
mes=m_DoorList.GetItemText(hitInfo.iItem,hitInfo.iSubItem)
//
rect.InflateRect(0,0,0,0)//增大组合框的高度使其可以容纳整行文本。
m_col=hitInfo.iSubItem
m_row=hitInfo.iItem
m_Edit.MoveWindow(&rect,TRUE)
m_Edit.ShowWindow(SW_NORMAL)
m_Edit.SetWindowText(mes)
m_Edit.BringWindowToTop()
m_Edit.SetFocus()//使组合框聚焦
}
else
if(hitInfo.iSubItem==2)
{
CString
mes=m_DoorList.GetItemText(hitInfo.iItem,hitInfo.iSubItem)
//
rect.InflateRect(0,0,0,0)//增大组合框的高度使其可以容纳整行文本。
m_col=hitInfo.iSubItem
m_row=hitInfo.iItem
m_Edit.MoveWindow(&rect,TRUE)
m_Edit.ShowWindow(SW_NORMAL)
m_Edit.SetWindowText(mes)
m_Edit.BringWindowToTop()
m_Edit.SetFocus()//使组合框聚焦
}
else
if(hitInfo.iSubItem==3)
{
CString
mes=m_DoorList.GetItemText(hitInfo.iItem,hitInfo.iSubItem)
//
rect.InflateRect(0,0,0,0)//增大组合框的高度使其可以容纳整行文本。
m_col=hitInfo.iSubItem
m_row=hitInfo.iItem
m_ComAct.MoveWindow(&rect,TRUE)
m_ComAct.ShowWindow(SW_NORMAL)
m_ComAct.SetWindowText(mes)
m_ComAct.BringWindowToTop()
m_ComAct.SetFocus()//使组合框聚焦
}
else
if
(hitInfo.iSubItem==4)
{
CString
mes=m_DoorList.GetItemText(hitInfo.iItem,hitInfo.iSubItem)
//
rect.InflateRect(0,0,0,0)//增大组合框的高度使其可以容纳整行文本。
m_col=hitInfo.iSubItem
m_row=hitInfo.iItem
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)