为什么不显示

chido 2001-12-07 08:26:42
我想动态的生成静态控件,里面放Bitmap
这个程序是在一个FormView里,
程序如下,可是不知为什么,编译没错,
然后运行,一点反映都没有.
void CCOSView::OnButton1()
{
CWnd* pWnd=GetParent();
CBitmap bmp;
bmp.LoadBitmap(IDB_BITMAP2);
CStatic* static=new CStatic;
static->Create("",SS_BITMAP|WS_CHILD|WS_VISIBLE|SS_CENTERIMAGE,
CRect(300,430,200,330),pWnd,IDC_BMP);
static->SetBitmap(bmp);
}
...全文
81 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
chido 2001-12-07
  • 打赏
  • 举报
回复
既然new的方法很不好,我也感觉不好,但是为什么大多教程介绍这些时都是先介绍Creat,
而且是比较重视的介绍,给人好多误解,好像这样理所应当.
其实我并不是想这样new,我想先在Form里编辑,可是我是想创建许多的这样的静态控件,
里面放位图,而且要编进一个数组,这样可以通过计算来选择对哪一个控制,我没办法
才先建一个CStatic的数组,然后想挨个重新创建.可是结果是创建不出来.
我改了bottom,left值后也是显示不出来.
请帮帮忙吧,如果我的问题幼稚,请原谅我的无知,学VC才半个月.谢谢了.
zjzbuaa 2001-12-07
  • 打赏
  • 举报
回复
CRect()写的不对,它的top 必须要小于 bottom,left必须小于right
另外,控件对象这样写,很不规范,希望以后注意。不要在函数内部new 一个局部对象。
chido 2001-12-07
  • 打赏
  • 举报
回复
窗体是496,348
我把位置设为CRect(300,430,200,330),有问题么?
有个地方好像说,是位图在这个函数里load了,出了这个
函数就被释放了,是这个原因么?如果是应该怎么解决?
xuyongg 2001-12-07
  • 打赏
  • 举报
回复
看看你显示位图的地方是不是超出窗体了。如果超出了,当然看不见了

16,551

社区成员

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

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

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