1. GetDC()
GetDC
这个函数用来获取一个应用程序的CLIENT区的DC的句柄或者是整个屏幕区域,你可以使用获取的这个DC在程序的后面的部分来实现与GDI相关的绘图工作。(实际是在DC上绘图)
GetDCEx函数是对GetDC函数的补充, 它提供给一个应用程序更多的能力:如何获取CLIENT的剪取矩形。
HDC GetDC(
HWND hWnd // handle to window
);
程序片段:
case WM_CREATE:
h = GetDC(hwnd); /使用GetDC(NULL或hwnd)获取DC的句柄
GetTextMetrics(h, &tm); //使用GetTextMetrics(DC, TEXTMETRIC)“文本的点阵度量表示”(结构体)
cxChar = tm.tmAveCharWidth; /取平均宽度
cxCaps = (tm.tmPitchAndFamily &1 ? 3: 2) * cxChar /2;
cyChar = tm.tmHeight + tm.tmExternalLeading;
ReleaseDC(hwnd, hdc);
return 0;
**************************************************************************
只要是WIN32API函数中与GDI有关的函数,其返回类型一般都是HDC类型,
对消息的处理都是在窗口函数(形式没有关系),只要是LRESULT CALLBACK并且参数
列表是(HWND, UINT , WPARAM, LPARAM)这2个条件满足就可以了
hdc = .....; //这里右边的部分表示你要调用什么绘图函数在什么地方“画图”
基本的思想是:先把hdc(指示出:绘制的舞台和绘制图形时使用的“METRIC”)----属性设置
然后是使用hdc调用相关的“绘图函数”,简单点的有TextOut();
并在这个函数中描述清楚你绘制图形的过程:
BOOL TextOut(
HDC hdc, // handle to DC
int nXStart, // x-coordinate of starting position
int nYStart, // y-coordinate of starting position
LPCTSTR lpString, // character string
int cbString // number of characters
);
程序片段:
TextOut(hdc, r.left, r.top, "Defenestration can be hazardous", 4);
浙公网安备 33010602011771号