高手救命!!!关于TAB控件的不显示问题(XP下安装了VC++的可以运行,WIN2000和XP没安装VC++的不可以)

天路朝阳 2008-07-01 11:25:22
高手救命,一个问题始终没得到解决,我是用VC++6.0SP6企业版做的一个工程,在对话框中使用了一个TAB控件,第一页我就做了个简单的界面,第二页我的界面上有按键,有日期时间选取器,还有个 DATA GRID这个控件。运行也正常,我的机器是XP系统的。然后我把项目产生的EXE文件放入到WIN2000系统运行一下,发现第一页是正常的,第二页什么都没有,包括按键,日期时间选取器,还有DATA GRID控件。什么都没有。这个是怎么一回事呀?请高手们指点一下!!谢谢了
...全文
164 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
天路朝阳 2008-08-27
  • 打赏
  • 举报
回复
终于,2个月的问题在今天得到解决谢谢 临风!还有其他帮助我的朋友。问题的解决办法在前面已经说过。
天路朝阳 2008-08-27
  • 打赏
  • 举报
回复
终于,2个月的问题在今天得到解决谢谢 临风!还有其他帮助我的朋友。问题的解决办法在前面已经说过。
天路朝阳 2008-08-07
  • 打赏
  • 举报
回复
那 为什么 我第一页有按纽,我第二页有按纽。为什么第一页按纽可以显示,第二页的按纽就不显示的呢?这个问题怎么解释呢?
ringphone 2008-07-18
  • 打赏
  • 举报
回复
你这个第二页跟TAB没关系,跟第二页上用到的OCX控件有关,你不创建TAB,直接显示第二页对话框,一样的没任何东西,需要注册了控件才会有。
天路朝阳 2008-07-17
  • 打赏
  • 举报
回复
没有人回答么?等待中。。。。。。。。。。。
天路朝阳 2008-07-09
  • 打赏
  • 举报
回复
那我就更不明白了,我程序里OnInitDialog()写的是
m_tab.InsertItem(0,"第一页"); //添加参数一选项卡
m_tab.InsertItem(1,"第二页"); //添加参数二选项卡

//关联对话框,并且将IDC_TABTEST控件设为父窗口
m_para1.Create(IDD_DIALOG1,GetDlgItem(IDC_TABTEST));
m_para2.Create(IDD_DIALOG2,GetDlgItem(IDC_TABTEST));

//获得IDC_TABTEST客户区大小
CRect rs;
m_tab.GetClientRect(&rs);
//调整子对话框在父窗口中的位置
rs.top+=1;
rs.bottom-=60;
rs.left+=1;
rs.right-=2;

//设置子对话框尺寸并移动到指定位置
m_para1.MoveWindow(&rs);
m_para2.MoveWindow(&rs);

//分别设置隐藏和显示
m_para1.ShowWindow(true);
m_para2.ShowWindow(false);

//设置默认的选项卡
m_tab.SetCurSel(0);

void CDataCollectionDlg::OnSelchangeTabtest(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
int CurSel = m_tab.GetCurSel();
switch(CurSel)
{
case 0:
m_para1.ShowWindow(true);
m_para2.ShowWindow(false);
break;
case 1:
m_para1.ShowWindow(false);
m_para2.ShowWindow(true);
break;
default:
;
}
*pResult = 0;
}
我点击第二页的时候就没有图象里,连最普通的按钮都没有了。不过这个程序在我这个XP装VC6.0的上面都可以看到,在WIN2000里没装任何软件第一页可以看见,第二页什么都没有了。这个问题困饶我N天了
ringphone 2008-07-08
  • 打赏
  • 举报
回复
TAB不是ActiveX,不需要注册,报OCX找不到是你注册时没有加路径,比如你有一个OCX控件c:\test.ocx,需要在DOS窗口下敲regsvr32 c:\test.ocx
天路朝阳 2008-07-08
  • 打赏
  • 举报
回复
那请问TAB控件我要加 控件.ocx ? 还有我注册的 控件.OCX 它说找不到这个。是必须要加 控件.ocx么?
还是是在 开始->运行-> regsvr32 控件.ocx 是吧? 但我就是没有找到TAB控件的 .ocx文件呀!
天路朝阳 2008-07-07
  • 打赏
  • 举报
回复
谢谢,谢谢!!我试一下。
ringphone 2008-07-05
  • 打赏
  • 举报
回复
注册是regsvr32 控件.ocx,你什么都不显示应该还是版本的问题,你程序用了几个控件,想要在其他机器运行,那台机器也必须注册了那几个控件才行,VC有个工具ActivX Control Test Container,菜单上选择edit->Insert Control,把你用到的控件选中,看下面显示的控件文件路径,记下来,程序发布时带上那几个文件,注册一下。
Amuro1987218 2008-07-05
  • 打赏
  • 举报
回复
注册用regsvr32 /s .ocx来做
天路朝阳 2008-07-05
  • 打赏
  • 举报
回复
我确实有个.ocx控件,是我项目中生成的,但怎么在系统注册呀?ringphone ?后面的版本更新是受动更新还是要别的什么?我自己调用了一下InitCommonControlsEx可是不管用。还是不显示,看来我还是没用好哦
天路朝阳 2008-07-05
  • 打赏
  • 举报
回复
楼上的,我照此方法做,什么都不显示了,后来我重装了VC++才恢复。。麻烦你说清楚点。新手上路不容易呀
ringphone 2008-07-02
  • 打赏
  • 举报
回复
是那个日期时间选取器的问题,程序发布的时候带上这个OCX控件,在系统注册一下就可以。这个东西系统是没有的,安装了VC或OFFICE才会有,并且版本跟系统是否更新过也有关系,更新过的是system32\MSCOMCT2.OCX,没更新过的好象是MScomctl.ocx。
龙凤呈祥焱 2008-07-02
  • 打赏
  • 举报
回复
你可能需要自己调用InitCommonControlsEx
天路朝阳 2008-07-02
  • 打赏
  • 举报
回复
也不是控件的问题,只是TAB的第二页什么都没有,而在我的电脑的XP下是可以运行的呀。有第二页,而在XP下没装VC++6.0的也不可以。搞不清楚什么原因。
BlueEngine 2008-07-01
  • 打赏
  • 举报
回复
应该是CommonCtrl库版本不一致引起的问题。尤其是日期时间选取器、DATA GRID等一些控件,相对复杂,本来就容易出问题。把xp下的commonctrl对应的库也一起发布看看能否解决?另,注意先调用InitCommonControlsEx()函数。
Conry 2008-07-01
  • 打赏
  • 举报
回复
有可能是datagrid控件的问题
天路朝阳 2008-07-01
  • 打赏
  • 举报
回复
http://hi.baidu.com/cx_jin/blog/item/19633c4e92b0510cb2de0541.html是我看的有关资料,可还是不会加载comctrl32.dll这个库。本人新手,太笨...能不能更详细的讲一下?

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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