9:01 2009-7-20
9:01 2009-7-20
[单词]
mobsters 歹徒
violence 暴力
calls his relatives 他的新眷
ethnic group 同种文化种族
restraint 遏制
death toll 死亡人数
innocent people 清白的人
thugs 暴徒
victims 受害者
compensation 补尝
protest 抗议
beforehand 预先
so extremely vicious and inhumane 狠毒和残忍
rioters 参加暴乱者
Xinhua News Agency 新华通讯社
in advance预先
knives刀子
presence 出席,到场
alleged 声称 ringleaders头目
local police authorities 当地警局
restore social order.恢复社会制序
characteristics 特有的
[VC++ 孙鑫]
1.CColorDialog,
dlg.m_cc.Flags|=CC_RGBINIT|CC_FULLOPEN
2.字体对话框
cfontdialog
choosefont成员变量,lpLogFont,lfFaceName
3.拷贝互logfont
LOGFONT lf;
memset(&lf, 0, sizeof(LOGFONT));
4.CreateFontIndirect 利用LOGFONT结构体中的特征来初始化一个CFont对象,
m_font.CreateFontIndirect(dlg.m_cf.lpLogFont);
增加成员变量,m_strfontName 初始化:
Cstring m_ //保存字体颜色
保存字体名字,m_strFontName=dlg.m_cf.lpLogFont->lfFaceName
调用函数使窗口无效,Invalidate();
选择字体,返回先前一个值,CFont *pOldFont=pDC->SelectObject(&m_font);
输出字体 :pDC->TextOut(0,0,m_strFontName);
再将先前的字体选择回去,
5.区别:
cGdiobject :类对象
GDI object:资源对象
6.句柄判断是否相关联
if(m_font.m_hObject) m_font.DeleteObject().然后再和另一种资源相关联
先获取主窗窗口指针,再获取窗口矩形区域大小
GetDlgItem(IDC_SAMPLE)->GetWindowRect(&rect)
移动到原点. dc.MoveTo(rect.left+20,rect.top+rect.Height()/2);
==GetWindowRect,指向Rect对象,得到屏幕坐标,做图时是以窗口区为原点 ,
把屏幕坐标转化为客户坐标ScreenToClient(rect);
rect成员中得载了一个方法,
更新。UpdateData();
添加仅有成员变量 Cfont 再初始化
7.onctlcolor是响应wm_color的消息响应函数,返回类型为HRUSH,必须一个指向画刷的句柄
8。改变文本颜色,settextcolor
9。对话框中增加wm_color消息响应函数,
画刷初始化:m_brush.CreateSolidBrush(RGB(0,0,255))
返回自己的画刷 ,背景色变为蓝色,
10.getdlgctrlid,返回CWnd子窗口的数字标识,ID号,也可以是窗口ID,如果是顶层窗口,没有ID《,返回无效
改线型ID,
if(pWnd->GetDlgCtrlID()==IDC_line_style)
{
pdc->settextcolor(RGB(255,0,0));//设文本颜色,
return m_brush;//改变背景色
}
每个子控件调用时,都会指定一个pdc,pwnd,都会调用 onctrlcolor,
12.将文字颜色设为透明,setbkmode
pDC->SetBKMode(transparent);
文本框的话,要设背明色,pDC->setBKColor(RGB(0,0,255));
13.按钮变色:
owner draw,
按钮改背景色:添加两个自定义类,
csxbtn m_btntest
增加WM_initDialog,,setinactivefgcolor:
14.在窗口中显示位图,
1,创建位图,CBitmap bitmap; bitmap.LoadBitmat(IDB_BITMAP)
2.创建兼容DC, dcCompatible.CreateCompatibleDc(pDC) //创建一个内存上下文,内存块,表示显示表面,
3.将位置选到兼容DC中,dcCompatible.SelectOjbect(&bitmap)
4.将兼容DC中的位图巾到当前DC中 pDC->BitBlt(rect.left,rect.top,rect.width(),rect.height(),&dcCompatible,0,0,SRCCOPY)
BitBlt 拷贝一个位图,从源设备上下文到目标设备上下文,
位图只能编辑256色,
14.2,位图的绘制
1,先擦除,再绘制,view,增加消息处理,wm_EraseBKGmd,
构造位图,加载,兼容DC,和当前DC兼容,位图选进DC当中,构造crect对象,
用getclientrect(&rect)得到客户端大小,
位图在窗口中完全显示,利用压缩,拉伸,stretchBlt
eg: CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1)
BITMAP bmp;
bitmap.GetBitmap(&bmp);
CDC dcCompatible;
dcCompatible.CreateCompatibleDC(pDC);
dcCompatible.SelectObject(&bitmap);
CRect rect;
GetClientRect(&rect);
// pDC->BitBlt(0,0,rect.width(),rect.Height(),&dcCompatible,0,0,SRCCOPY);//部分显示图像,
pDC->StretchBlt(0,0,rect.width(),rect,height(),&dcCompatible,//完全显示图像,已经压缩图像
0,0,bmp.bmWidth,bmp.bmHeight,SRCCOPY);
!!!重绘窗口的时候,会调用ondraw()函数,但这种方法,在窗口尺寸大小变化时,会发生闪烁
第十一章
1.窗口尺寸变化时,图像消失,
保存绘制图像,
窗口尺寸变化,引起重绘的时候,还显示原有的图形
加新类,,generic class,cGraph,增加三个成员变量 ,unint public m_nDrawType,
CPoint m_ptOrigin,CPoint m_ptEnd,
构造cGraph对象,保存三个要素,构造带参数的构造方法,在调用时直接传参,
CGraph (uint m_nDrawType,CPoint m_ptOrigin,CPoint m_ptEnd);
在CPP中,
CGraph::CGRaph(uint m_nDrawType,CPoint m_ptOrigin,CPoint m_ptEnd)
{
this->m_nDrawType=m_nDrawType;
this->m_ptOrigin=m_ptOrigin;
this->m_ptEnd=m_ptEnd;
}
[书]
Windows核心编程(第5版)(微软技术丛书) 77