我刚从bcb转用vc,发现vc怎么这么多问题,bug奇多,是vc垃圾还是我太笨?不懂,详情见内!

thickhead_cat 2002-12-08 02:56:00
1.建立一个基于对话框的mfc应用程序,从classwizard里可以建立oncreatedialog,oninitializedialog等成员函数,你会发现,根本不会去执行!
2.建立一个sdi的应用程序,不支持document/view,不包含toolbar和statusbar,debug时会出错,run时窗口不会重绘!

哪位高手能解释一下???
...全文
120 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
jerrytse 2002-12-11
  • 打赏
  • 举报
回复
能用api直接编程和能直接用汇编写win 32程序,并不代表能掌握MFC。
类比推理在这里并不成立。所以敬请不要自大。
不过,治学的确需要严谨,这一点无论是对我们自己还是对软件产业都是必须的。
这年头,冒充的高手太多了。
fenex 2002-12-11
  • 打赏
  • 举报
回复
打错了,最新的是sp5
fenex 2002-12-11
  • 打赏
  • 举报
回复
2. 确实是VC的bug,不过装个vc的sp3就行了
mickyf 2002-12-11
  • 打赏
  • 举报
回复
其实呢,MFC有很多bug,但是一般在MSDN里面都有解答了,因为MFC实在是太大了,没人敢去轻易动他。
以我来看,作为对C++的支持和兼容,效率,VC只能说一般,这一点从我使用stl等C++标准可以得出,但是作为编程工具和编译环境,VC绝对是第一流的。否则我想您也不会转用VC了吧.
thickhead_cat 2002-12-11
  • 打赏
  • 举报
回复
各位,也太搞笑了吧,是bug就是bug,看清楚我说的再评论,我直接用api编程都行,直接用汇编写win32程序都没问题,mfc我还弄不清楚,你们又不是微软公司的,何必对问题掩盖呢,bcb用虚拟函数来处理消息,vc用宏来处理,各有优缺,但是bug就是bug,比如bcb和delphi的一些头文件里定义有错误这也是bug,拜托各位治学严谨一些!
cbc 2002-12-09
  • 打赏
  • 举报
回复
你还没理解mfc那套机制!建议拿本书看看,不要把
bcb那一套硬搬过来
depuw 2002-12-09
  • 打赏
  • 举报
回复
如果你觉得BCB好用,你就去用好了,何必还要自找麻烦呢?
大家都知道VC难说,最难的就在于MFC。

你上面说的问题,是你留下了多余的代码所致,你在哪里删除了东西,去找到相应的代码处,把不要的代码删除吧!!!

而你说的某些事件不响应,那是你没有对上号!!!
skywolfY 2002-12-09
  • 打赏
  • 举报
回复
不要用BCB的标准来看VC,如果你第一次看的32位平台开发工具是VC 你就不会
这样说了,VC间关系不象别的工具那样容易看清,好多都要程序员手动去写,而
不是只是用鼠标点几下就可以生成事件写代码的。
thickhead_cat 2002-12-09
  • 打赏
  • 举报
回复
看来高手有限啊
我自己找到了问题
1、mfc的cdialog(idd,pwnd)根本不处理调用precreatewindow,只有sdi,mdi或者用cdialog::createindirect(记得不一定拼写正确)才行
2、当我那样创建时,view不会被创建,在oncreate添上view::create就可以了,明确是个bug
YP2002CN 2002-12-08
  • 打赏
  • 举报
回复
1.你注意是你自己添加的。应该用消息机制。在 Event事件里面去添加这两个。而不是用类向导自定义生成。 你并没有给你的这个两个函数挂消息去通知系统。它应该有三行代码. 你 在ctrl+w里面加或者在对话框版面的Event里面添加。
2.自食其力。。
goldolphin 2002-12-08
  • 打赏
  • 举报
回复
凡此种种,大多可以在MSDN中找到解答。
classview生成的基于对话框的程序,其消息循环与一般的窗口程序不一样。
GoogleGeek 2002-12-08
  • 打赏
  • 举报
回复
转换思想,不要让delphi之流将你养懒了养肥了!
呵呵
还是自食其力好!
1e21 2002-12-08
  • 打赏
  • 举报
回复
...
thickhead_cat 2002-12-08
  • 打赏
  • 举报
回复
还有,比如改变窗口大小一般是在precreatewindow里修改,而在对话框程序里,你可以加入这个函数,可是根本不会被调用,而你在设计对话框模板那里的大小却是根本不实用的尺寸!
realdreamer 2002-12-08
  • 打赏
  • 举报
回复
非常赞同. 这些问题确是 VC
iiii 2002-12-08
  • 打赏
  • 举报
回复
1.没这个理由吧。记得是在DoModal()后才调用的。
2.随便选一个,接着手工改一下,把不要的删掉。很简单
thickhead_cat 2002-12-08
  • 打赏
  • 举报
回复
哪位高手能来指点一下?
zhf0021 2002-12-08
  • 打赏
  • 举报
回复
UP
98440622 2002-12-08
  • 打赏
  • 举报
回复
用vc主要是使用mfc,那个wizard只是一个小的工具,不是什么情况下都好用的,我相信能手工用mfc写程序那才是掌握了vc,才会感到用vc是很灵活的!


尽用wizard,不如无wizard!
thickhead_cat 2002-12-08
  • 打赏
  • 举报
回复
2 我跟踪了,是在::showwindow(.....,ncmdshow)那里出的错!
加载更多回复(6)

16,472

社区成员

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

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

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