CRect rect;
GetWindowRect(&rect);
BITMAP bm;
m_bmpBkgnd.GetBitmap(&bm);
CDC memDC;
memDC.CreateCompatibleDC(pDC);
CBitmap* pOldMemBmp = memDC.SelectObject(&m_bmpBkgnd);
pDC->BitBlt(0,0,rect.Width(),rect.Height(),&memDC,0,0, /*bm.bmWidth, bm.bmHeight,*/ SRCCOPY);
if(pOldMemBmp)
memDC.SelectObject(pOldMemBmp);
m_bmpKeyboard.GetBitmap(&bm);
CDC memDC2;
memDC2.CreateCompatibleDC(pDC);
CBitmap* pOldMemBmp2 = memDC2.SelectObject(&m_bmpKeyboard);
int cx = (rect.Width()-bm.bmWidth)/2;
int cy = rect.Height() - bm.bmHeight;
pDC->BitBlt(cx,cy,bm.bmWidth, bm.bmHeight, &memDC2,0,0, /*bm.bmWidth, bm.bmHeight,*/ SRCCOPY);
if(pOldMemBmp2)
memDC2.SelectObject(pOldMemBmp2);
CFont font;
font.CreatePointFont(400,_T("Arial"),NULL);
CFont* pOldFont = pDC->SelectObject(&font);
COLORREF clr = pDC->SetTextColor(RGB(255,0,0));
pDC->SetBkMode(TRANSPARENT);
pDC->TextOut(cx,cy,m_strInputSentence);
if (pOldFont)
pDC->SelectObject(pOldFont);
pDC->SetTextColor(clr);
GetWindowRect(&rect);
BITMAP bm;
m_bmpBkgnd.GetBitmap(&bm);
CDC memDC;
memDC.CreateCompatibleDC(pDC);
CBitmap* pOldMemBmp = memDC.SelectObject(&m_bmpBkgnd);
pDC->BitBlt(0,0,rect.Width(),rect.Height(),&memDC,0,0, /*bm.bmWidth, bm.bmHeight,*/ SRCCOPY);
if(pOldMemBmp)
memDC.SelectObject(pOldMemBmp);
m_bmpKeyboard.GetBitmap(&bm);
CDC memDC2;
memDC2.CreateCompatibleDC(pDC);
CBitmap* pOldMemBmp2 = memDC2.SelectObject(&m_bmpKeyboard);
int cx = (rect.Width()-bm.bmWidth)/2;
int cy = rect.Height() - bm.bmHeight;
pDC->BitBlt(cx,cy,bm.bmWidth, bm.bmHeight, &memDC2,0,0, /*bm.bmWidth, bm.bmHeight,*/ SRCCOPY);
if(pOldMemBmp2)
memDC2.SelectObject(pOldMemBmp2);
CFont font;
font.CreatePointFont(400,_T("Arial"),NULL);
CFont* pOldFont = pDC->SelectObject(&font);
COLORREF clr = pDC->SetTextColor(RGB(255,0,0));
pDC->SetBkMode(TRANSPARENT);
pDC->TextOut(cx,cy,m_strInputSentence);
if (pOldFont)
pDC->SelectObject(pOldFont);
pDC->SetTextColor(clr);