MFC中局部变量和全局变量的定义问题
初学MFC,遇见个问题在在View类的OnCreate(LPCREATESTRUCT lpCreateStruct) 函数中:
一:CClientDC dc(this);
TEXTMETRIC tm;
dc.GetTextMetrics(&tm);
CreateSolidCaret(tm.tmAveCharWidth/8,tm.tmHeight);
ShowCaret();
这是创建字符处理的插入符,其中TEXTMETRIC tm;声明为局部变量可以完美执行,
二: CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);
CreateCaret(&bitmap);
ShowCaret();
这是创建图形插入符,其中CBitmap bitmap;必须声明为全局变量才能执行,这是为什么呢?
新人诚心求指教,谢谢各位大大不吝赐教!
[解决办法]
tm是一个辅助的变量 只是用来获取宽度和高度 其本身并没有参与创建Caret 而bitmap就不同了