vc odbc急急急!!!

beautyzeb18 2003-10-18 02:03:22
我把控件的diable给选中了
想通过选择radio1,radio2,radio3来使控件的disable属性取消
怎么做
我这样做的GetDlgItem(IDC_EDIT1)->Enable=TRUE;
不管用,
另外怎样实现正个数据库记录集的记录显示在list control上
把具体实现代码写出来
谢了!!!
...全文
99 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
beautyzeb18 2003-10-23
  • 打赏
  • 举报
回复
我实现了
把list control的属性栏的一个属性改成report就行了
多谢你的帮忙!
vc的道路是这么的精彩
yanzhaojiang00 2003-10-20
  • 打赏
  • 举报
回复
我就是这样做的,但是我昨天粘贴错代码了!不好意思!!我回复中的第二句代码是错的。但是关于坐标的理论是对的!那看来你的应该是对的,问什么会错呢?你的问题:“为什么实现不了list control里的显示呢?”,看起来很模糊,你想显示些什么呢?是每一列的标题还是所有的记录?是标题的话,这些代码就够了。你看看你的代码写在哪里?应该写在窗口的初始化函数里。是所有的记录的话,这些代码就不够了。参考上面的OnShowAll()函数里的内容。

beautyzeb18 2003-10-19
  • 打赏
  • 举报
回复
我试了,还是不行
照你说的,向右是x的正方向,那么矩形的right-left不正好是正值
有点不解!!!
beautyzeb18 2003-10-19
  • 打赏
  • 举报
回复
这样行吗?
我试试,谢谢燕子朋友!!
yanzhaojiang00 2003-10-19
  • 打赏
  • 举报
回复
看看你的这段代码:
int widrect=recthundred.right-recthundred.left;
正确的是:
int widrect=recthundred.left-recthundred.right;
看来你不清楚屏幕坐标系的正方向:向右是X轴的正方向;向下是Y轴的正方向;坐标原点在屏幕的左上角。
函数SetColumnWidth(*,*)的第二参数必须是正的,便是象素的多少!负值意味着不设置该列的宽度!!
beautyzeb18 2003-10-19
  • 打赏
  • 举报
回复
谢谢楼上的指点,给看看这个,我是这样实现的,为什么不行?
我现在用这样的语句:
m_hundred.InsertColumn(0,"客户姓名");
m_hundred.InsertColumn(1,"电话");
...
...
RECT recthundred;
m_hundred.GetWindowRect(&recthundred);
int widrect=recthundred.right-recthundred.left;
m_hundred.SetColumnWidth(0,widrect/4);
m_hundred.SetColumnWidth(1,widrect/4);
...
为什么实现不了list control里的显示呢?
指点一下,谢了!!!
yanzhaojiang00 2003-10-18
  • 打赏
  • 举报
回复
这个大括号里是对List控件的初始化,可以放在void CEX1View::OnInitialUpdate()中,
{
m_List.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
m_List.InsertColumn(0,_T("学生ID"),LVCFMT_LEFT,50,-1);
m_List.InsertColumn(1,_T("名字"),LVCFMT_LEFT,70,-1);
m_List.InsertColumn(2,_T("姓氏"),LVCFMT_LEFT,40,-1);
m_List.InsertColumn(3,_T("地址"),LVCFMT_LEFT,100,-1);
m_List.InsertColumn(4,_T("城市"),LVCFMT_LEFT,100,-1);
m_List.InsertColumn(5,_T("电话"),LVCFMT_LEFT,100,-1);
}

而此函数是一个按钮上按下鼠标左键的消息映射函数:(注意:SetItemText()的参数只能是字符类型的数据)
void CEX1View::OnShowAll()
{
// TODO: Add your control notification handler code here
m_List.DeleteAllItems();
m_pSet->m_strFilter="";
m_pSet->Requery();
int i=0;
m_pSet->MoveFirst();
do
{
//m_List.SetColumnWidth(i,120);
CString s;
s.Format("%d",m_pSet->m___ID);
m_List.InsertItem(i,s,0);
m_List.SetItemText(i,1,m_pSet->m_column1);
m_List.SetItemText(i,2,m_pSet->m_column2);
m_List.SetItemText(i,3,m_pSet->m_column3);
m_List.SetItemText(i,4,m_pSet->m_column4);
m_List.SetItemText(i,5,m_pSet->m_column5);
i++;
m_pSet->MoveNext();

} while(!m_pSet->IsEOF());
m_pSet->MoveFirst();

}
beautyzeb18 2003-10-18
  • 打赏
  • 举报
回复
哦,我不懂这个函数
不过我想应该对了
我试试看
我怎么样给你分呢?
孤必有邻 2003-10-18
  • 打赏
  • 举报
回复
GetDlgItem(IDC_EDIT1)->EnableWindow();//缺省参数Enable,FALSE则Disable

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧