在做一个MFC软件的时候有一个这样的需求,就是要有类似与AutoCad的命令输入框,如下图所示:
在VC++中有着一大把字符串类型。从传统的char*到std::string到CString,简直是多如牛毛。期间的转换相信也是绕晕了许多的人,我曾就是其中的一个。还好,MS还没有丧失功德心,msdn的一篇文章详细的解析了各种字符串的转换问题,链接如下:http://msdn2.microsoft.com/zh-cn/library/ms235631(VS.80).aspx。 参照这篇文章,
非模态对话框比模态对话框更难使用这是众所周知的,这是由于模态对话框运行时,阻塞了其父窗口的消息循环,使其能自成一派,所以能够怡然自得。但非模态对话框只相当于一个由父窗体创建的一个同级的Hwnd,就像一个长大了的孩子,可以和父母并驾齐驱了,需要父母管又不能管的太厉害,其资源管理、通信都会比模态的更为复杂。 很多时候,能用模态对话框的情况下,都会用模态的。虽然Copper
在C++中经常会涉及到处于不同头文件的类互相引用的情况,有时候头文件引用(include)会搞得很乱,导致报一堆的错。其实遵循一定规则,可以避免大部分的混乱。 首先,要对头文件进行处理,保证不会出现重定义的错误。这个应该每个人都会,通常有两种做法: 1. 在.cpp文件中添加保护,比如在.cpp文件中添加: #ifndef _XX_H_ #define _XX_H_ #include
有时候我们经常把对话框和视图结合起来,做成AutoCAD命令输入框、PhotoShop浮动框之类的效果。但很奇怪的是我看过的MFC的书上都没有特别说明过这样的工作该如何去做,我刚接触MFC的时候都是通过控制非模态对话框来模拟的,后来才知道这些工作是通过CControlBar的派生类来完成的。比如CDialogBar就是加载一个已有的对话框资源,嵌入Frame中,和视图配合使用。 其实知道了有
做一个MFC程序的时候碰到一个需求。就是需要根据定制情况,动态生成菜单,菜单的具体结构和信息是之前不知道的(因此不能利用工具构造),点击不同类型的菜单会触发特定的一类事件(需要动态绑定事件)。这种需求实际是蛮不BT的,很多场合下都可能会有,用C#写了个Demo花了不到半个小时。但转到MFC下来写,就费尽周折。其实这个问题代表了在MFC中动态创建资源绑定事件的一般性问题,所以总结一下。 动态创
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号