DrawText内存泄露
今天在用BCB6写一个滚动字幕的时候,在定时器中使用API的::DrawText,
结果运行的时候察看进程管理器,发现内存按照定时器的间隔定时泄露4K的内存,
我将定时器中的DrawText函数写成最简单的一段代码
void __fastcall TForm1::tmr1Timer(TObject *Sender)
{
HDC dcPaint = ::GetDC(this->Handle);
if(::GetClientRect(this->Handle, &recShowBottomText))
{
HFONT hfontold = SelectObject(dcPaint, hBottomText);
::DrawTextA(dcPaint, "1", 1, &recShowBottomText, DT_LEFT|DT_VCENTER|DT_SINGLELINE);
SelectObject(dcPaint, hfontold);
}
::ReleaseDC(this->Handle, dcPaint);
}
这段代码是一个FORM上面的定时器的处理函数,请问有没有童鞋碰到过相同的问题
结果运行的时候察看进程管理器,发现内存按照定时器的间隔定时泄露4K的内存,
我将定时器中的DrawText函数写成最简单的一段代码
void __fastcall TForm1::tmr1Timer(TObject *Sender)
{
HDC dcPaint = ::GetDC(this->Handle);
if(::GetClientRect(this->Handle, &recShowBottomText))
{
HFONT hfontold = SelectObject(dcPaint, hBottomText);
::DrawTextA(dcPaint, "1", 1, &recShowBottomText, DT_LEFT|DT_VCENTER|DT_SINGLELINE);
SelectObject(dcPaint, hfontold);
}
::ReleaseDC(this->Handle, dcPaint);
}
这段代码是一个FORM上面的定时器的处理函数,请问有没有童鞋碰到过相同的问题
...全文
相关推荐
解决DrawText中文字与字母之间自动换行
解决DrawText中文字与字母之间自动换行
VC++利用DrawText在窗体上输出文本
VC++在窗体上输出文本的实例,主要是利用DrawText方法来实现文字输出,为了更全面一些,实例中不但输出了英文字符,还输出了中文,如果您对DrawText的使用方法不熟悉,可下载本源码参考。 运行环境:Windows/Visual C/C++
Android DrawText字符串的绘制
Android DrawText字符串的绘制 Android DrawText字符串的绘制
利用drawtext给视频加字幕
利用drawtext给视频加字幕,忽略音频,只处理一个流视频
DrawText Api code
Draw a Text in PictureBox by using DrawText API Code


Windows SDK/API
