代码为什么不能在Dialog上显示一个A:
目的是要用O在Dialog上拼写一个A,
void CXxxDlg::OnButton1()
{
CClientDC cdc(this);
CDC dcMemory;
CFont ft; dcMemory.CreateCompatibleDC(&cdc);
dcMemory.SetBkColor(RGB(255,255,255));
dcMemory.SetTextColor(RGB(0,0,255));
ft.CreatePointFont(120, "新宋体", NULL);
dcMemory.SelectObject(&ft);
dcMemory.TextOut(0,0, "A");
cdc.SetBkColor(RGB(255,255,255));
cdc.SetTextColor(RGB(0,0,255));
cdc.SelectObject(&ft);
COLORREF clrrf, chColor;
chColor = RGB(0,0,255);
for(int i = 0; i<14; i++)
{
for(int j =0; j<14; j++)
{
clrrf = dcMemory.GetPixel(i,j);
if (clrrf == chColor)
{
cdc.TextOut((i+1)*14, (j+1)*14, "O");
}
}
}
}
目的是要用O在Dialog上拼写一个A,
void CXxxDlg::OnButton1()
{
CClientDC cdc(this);
CDC dcMemory;
CFont ft; dcMemory.CreateCompatibleDC(&cdc);
dcMemory.SetBkColor(RGB(255,255,255));
dcMemory.SetTextColor(RGB(0,0,255));
ft.CreatePointFont(120, "新宋体", NULL);
dcMemory.SelectObject(&ft);
dcMemory.TextOut(0,0, "A");
cdc.SetBkColor(RGB(255,255,255));
cdc.SetTextColor(RGB(0,0,255));
cdc.SelectObject(&ft);
COLORREF clrrf, chColor;
chColor = RGB(0,0,255);
for(int i = 0; i<14; i++)
{
for(int j =0; j<14; j++)
{
clrrf = dcMemory.GetPixel(i,j);
if (clrrf == chColor)
{
cdc.TextOut((i+1)*14, (j+1)*14, "O");
}
}
}
}
创建一个Bitmap对象。设置到 dcMemory中去。
用drawtext画出a来。
bitblt到cdc中。
CRect rc;
GetWindowRect(&rc);for(int i = 0; i<rc.Width()-1; i++)
{
for(int j =0; j<rc.Height()-1; j++)
{
clrrf = dcMemory.GetPixel(i,j);
if (clrrf == chColor)
{
cdc.TextOut((i+1), (j+1), "O");
}Invalidate();