标签:
//CreateSolidCaret 插入符
BOOL CreateCaret( HBITMAP pBitmap );
int CXuexi2View::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;
//调用Windows处理函数对应的create
// TODO: Add your specialized creation code here
/* CClientDC dc(this);
TEXTMETRIC tm;
dc.GetTextMetrics(&tm);//得到窗口字体信息
CreateSolidCaret(tm.tmAveCharWidth/8,tm.tmHeight);//用于表示插入符的消息、/8经过试验以后验证是最好的
ShowCaret();
*/
// CreateSolidCaret(1,10);//自己定义窗口的插入符的大小
// ShowCaret();
//CreateCaret();用于创建位图插入符
//CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);
CreateCaret(&bitmap);
ShowCaret();
return 0;
}
这样写是调不出来位图的 应为位图是定义成了局部变量 发生完之后调用析构函数 所以位图显示不出来
正确的做法是这样写 把bitmap的申明放到view的头文件中进行申明,这样析构发生时会全部运行完再次发生析构
int CXuexi2View::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;
//调用Windows处理函数对应的create
// TODO: Add your specialized creation code here
/* CClientDC dc(this);
TEXTMETRIC tm;
dc.GetTextMetrics(&tm);//得到窗口字体信息
CreateSolidCaret(tm.tmAveCharWidth/8,tm.tmHeight);//用于表示插入符的消息、/8经过试验以后验证是最好的
ShowCaret();
*/
// CreateSolidCaret(1,10);//自己定义窗口的插入符的大小
// ShowCaret();
//CreateCaret();用于创建位图插入符
//CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);
CreateCaret(&bitmap);
ShowCaret();
return 0;
}
标签:
原文地址:http://www.cnblogs.com/llforeverlove/p/4655000.html