常用的GDI操作

2022-02-19 05:29:18 字數 823 閱讀 5192

1  dc

dc := getdc(0);                        //桌面

dc := getdc(視窗控制代碼)                //視窗客戶區

dc := getwindowdc(視窗控制代碼))   // 整個視窗,包括非客戶區

2 字型

oldfont: hfont;

oldfont := selectobject(windc, canvas.font.handle);

同樣還有pen, brush

pen 建立用createpen, brush 用 createsolidbrush 建立

3獲得window視窗顯示顏色, getsyscolor 裡邊有很多引數

4 getsystemmetrics 取windows視窗 寬度,高度等一系列引數

5 重畫非客區 截 wm_ncpaint 訊息, 客戶區 wm_paint 訊息

6 座標轉換 clienttoscreen  screentoclient,  mapwindowpoints

varr: trect;

begin

r := memo1.clientrect;

memo1.lines.add(format('%d %d %d %d', [r.left, r.top, r.right, r.right]));

mapwindowpoints(memo1.handle, handle, r, 2);

memo1.lines.add(format('%d %d %d %d', [r.left, r.top, r.right, r.right]));

7

GDI的簡單操作

gdi 影象裝置介面 主要的作用是在應用程式中實現繪圖,輸出文字,顯示和列印等操作。一,gdi 的常用操作函式 1,繪製文字textout和drawtext textout 根據給出的座標和要繪製的文字長度繪製文字 drawtext通過給定的乙個矩形區域繪製文字 2,繪製點setpixel 3,繪製...

GDI 入門(三 GDI 中文字操作)

三 gdi 中文字操作 using system.drawing using system.drawing.drawing2d using system.drawing.text private void button1 click object sender,eventargs e private...

C 中的 gdi 而不是 gdi

我記得有多種方法的,不過我現在的部分資料還沒恢復,下面這個是的.我記得我用是因為 gdi 的字串繪畫時無法限制在區域內,而 gdi 是可以的.這實在是奇怪.2009 09 02 14 20 08 最近重寫tabcontrol控制項,但是發現tab與其中的字型長度不合適,我希望長度應該是正合適的情況。...