为什么调整窗口大小后,程序占用内存的数量在增加?该如何处理
为什么调整窗口大小后,程序占用内存的数量在增加?
这是我的ONDRAW函数
这两条语句是在OnDraw中的.
sprintf(m_lpszDate, "%4d年%2d月 ",m_odtCurrentDate.GetYear(), m_odtCurrentDate.GetMonth());
pDC-> TextOut(int(320 * m_fSizeX), int(BUTTONTOTOP * m_fSizeY), m_lpszDate);
m_lpszDate是在类中定义的成员字符串数组.
可是每次调用OnDraw时,我监视其占用内存的数量,就在一直增加.....
哪位高手给个解决方案?
/**********************************************************************************
* 功能: 绘图函数,实现日历界面的动态 *
* 参数: pDC 系统传送过来的DC,便于绘制客户区 *
* 返回值: 无返回值 *
***********************************************************************************/
void CCalendarView::OnDraw(CDC* pDC)
{
CCalendarDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
//设置默认焦点为今天
m_btnDateChange[m_iTaborder].SetFocus();
//创建设置字体
m_pNewFont = new CFont;
m_pNewFont-> CreateFont(int(20 * m_fSizeY),
int(7 * m_fSizeX),
0,
0,
FW_BOLD,
FALSE,
FALSE,
0,
ANSI_CHARSET,
OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,
DEFAULT_QUALITY,
DEFAULT_PITCH | FF_SWISS,
_T( "楷体_GB2312 "));
m_pOldFont = pDC-> SelectObject(m_pNewFont);
CString strDate;
strDate.Format( "%4d年%2d月 ", m_odtCurrentDate.GetYear(), m_odtCurrentDate.GetMonth());
pDC-> TextOut(int(320 * m_fSizeX), int(BUTTONTOTOP * m_fSizeY), strDate);
// delete m_pNewFont;
//根据视口变化动态调整按钮控件大小
int i_Size[5] = {50, 105, 520, 610, 665};
for(int j=0; j <5; j++)
{
m_btnDateChange[j].MoveWindow(
int(i_Size[j] * m_fSizeX),
int(BUTTONTOTOP * m_fSizeY),
int(BUTTONWIDTH * m_fSizeX),
这是我的ONDRAW函数
这两条语句是在OnDraw中的.
sprintf(m_lpszDate, "%4d年%2d月 ",m_odtCurrentDate.GetYear(), m_odtCurrentDate.GetMonth());
pDC-> TextOut(int(320 * m_fSizeX), int(BUTTONTOTOP * m_fSizeY), m_lpszDate);
m_lpszDate是在类中定义的成员字符串数组.
可是每次调用OnDraw时,我监视其占用内存的数量,就在一直增加.....
哪位高手给个解决方案?
/**********************************************************************************
* 功能: 绘图函数,实现日历界面的动态 *
* 参数: pDC 系统传送过来的DC,便于绘制客户区 *
* 返回值: 无返回值 *
***********************************************************************************/
void CCalendarView::OnDraw(CDC* pDC)
{
CCalendarDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
//设置默认焦点为今天
m_btnDateChange[m_iTaborder].SetFocus();
//创建设置字体
m_pNewFont = new CFont;
m_pNewFont-> CreateFont(int(20 * m_fSizeY),
int(7 * m_fSizeX),
0,
0,
FW_BOLD,
FALSE,
FALSE,
0,
ANSI_CHARSET,
OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,
DEFAULT_QUALITY,
DEFAULT_PITCH | FF_SWISS,
_T( "楷体_GB2312 "));
m_pOldFont = pDC-> SelectObject(m_pNewFont);
CString strDate;
strDate.Format( "%4d年%2d月 ", m_odtCurrentDate.GetYear(), m_odtCurrentDate.GetMonth());
pDC-> TextOut(int(320 * m_fSizeX), int(BUTTONTOTOP * m_fSizeY), strDate);
// delete m_pNewFont;
//根据视口变化动态调整按钮控件大小
int i_Size[5] = {50, 105, 520, 610, 665};
for(int j=0; j <5; j++)
{
m_btnDateChange[j].MoveWindow(
int(i_Size[j] * m_fSizeX),
int(BUTTONTOTOP * m_fSizeY),
int(BUTTONWIDTH * m_fSizeX),