• 全部
  • VC综合技术
  • 互联网技术
  • MFC AppLauncher
  • .NET 技术
  • 界面
  • 进程
  • 算法
  • 硬件/系统
  • 数据库
  • VC++技术资源

一个动态创建孔件时的错误,请大家指点

blackstone 华为软件 开发组长/高级工程师/技术专家  2001-06-01 10:10:00
我在程序中生成一个CToolBar类的对象,然后在它的上面动态生成一自定义控件wxs2.wxs,但运行时总是出错(孔件已经显示到CToolBar中),谁能解决这问题啊?
m_toolbar.CreateEx(
this,TBSTYLE_FLAT,WS_CHILD|WS_VISIBLE|CBRS_ALIGN_TOP,
CRect(0,0,50,50),ID_TOOLBAR
);
m_toolbar.CreateControl(
"wxs2.wxs","wxs",WS_VISIBLE,CRect (10,10,30,30),&m_toolbar,ID_CONTROL,NULL,FALSE,NULL
);
...全文
106 点赞 收藏 15
写回复
15 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
blackstone 2001-06-30
push
回复
blackstone 2001-06-28
我在m_toolbar.CreateControl(
"wxs2.wxs","wxs",WS_VISIBLE,CRect (10,10,30,30),&m_toolbar,ID_CONTROL,NULL,FALSE,NULL
)句时出错。但控件已经显示在窗体上了。你走到括号里的原因可能是你的计算机里没有progID为“wxs2.wxs”控件的缘故,自己写一个控件然后再测试看看----呵呵,一定就能看到出错信息了。
回复
blackstone 2001-06-28
我走不进去啊,痛苦痛苦!!!阿丰你觉得可能的原因是什么呢?我先给你70分
回复
ahphone 2001-06-27
我只是想看一下,你的程序在生成控件时是不是真的成功了,我自己试的时候它就走到括号里头去了。
回复
blackstone 2001-06-27
阿丰:我试了一下,还是出错,是不是因为我使用的Win2000缘故?
出错信息:
Debug Assertion Failed!
Program: e:\......
File:oocsite.cpp
Line:901
For information on how your program can cause an Assertion Failed..........................................

回复
jaguarcts 2001-06-27
我是新手,学习学习。
回复
ahphone 2001-06-27
if(m_toolbar.CreateControl(
"wxs2.wxs","wxs",WS_VISIBLE,CRect (10,10,30,30),&m_toolbar,ID_CONTROL,NULL,FALSE,NULL
))
{
TRACE0("Failed to create Control\n");
return -1;
}
看看.
回复
ahphone 2001-06-27
真是痴心不改,再来研究研究~~~~~~~~
回复
blackstone 2001-06-27
不是的,我在问CreateControl的用法,大和尚和阿丰及其他高手快来看看啊,我将为这问题提供70*10分

m_toolbar.CreateControl(
"wxs2.wxs","wxs",WS_VISIBLE,CRect (10,10,30,30),&m_toolbar,ID_CONTROL,NULL,FALSE,NULL
);//创建出来了,但同时显示出错信息,faint
回复
blackstone 2001-06-22
push!
回复
ahphone 2001-06-22
比较下面的代码:

if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}

m_wndToolBar.SetBarStyle(m_wndToolBar.GetBarStyle()&~CBRS_BORDER_TOP);

m_wndToolBar.SetButtonInfo(m_wndToolBar.CommandToIndex(ID_TTASK), ID_TTASK,TBBS_SEPARATOR, 53);
m_wndToolBar.GetItemRect(m_wndToolBar.CommandToIndex(ID_TTASK), &rect);
if (!m_wndToolBar.m_Task.Create("任务(&T)",WS_CHILD|WS_VISIBLE ,rect, &m_wndToolBar, IDC_STASK))
{
TRACE0("Failed to create flat Button\n");
return FALSE;
}
m_wndToolBar.m_Task.ShowWindow(SW_SHOW);

//在mainfrm.h中定义class CExToolBar:public CToolBar
//m_Task是CExToolBar的flatbutton变量


回复
Sunny_lin 2001-06-22
什么错误??
回复
blackstone 2001-06-14
这问题真的这么难吗?
回复
blackstone 2001-06-13
真没人知道吗?
回复
blackstone 2001-06-09
难道没人能回答吗?我再加10分!
回复
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2001-06-01 10:10
社区公告

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