線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1885
推到 Plurk!
推到 Facebook!

如何取得指定元件的HDC

答題得分者是:daldal
stwave
一般會員


發表:9
回覆:9
積分:3
註冊:2005-03-29

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-01-06 14:13:29 IP:59.120.xxx.xxx 訂閱
請教各位先進
如何指定取得某元件的HDC與HANDLE值.
想要..取得Form上Image1的HDC
再透過取得的HDC去做畫面重繪與更新
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2010-01-06 14:43:15 IP:122.116.xxx.xxx 訂閱
TImage是不具視窗的元件,因此沒有Handle
daldal
高階會員


發表:6
回覆:102
積分:226
註冊:2007-06-18

發送簡訊給我
#3 引用回覆 回覆 發表時間:2010-01-06 15:12:58 IP:61.219.xxx.xxx 未訂閱
比較常見的可視種類

種類1: (TButton, TMemo, TForm, TPanel ......)
繼承 TWinControl ,擁有自己的 Handle, HDC
但是 Canvas 屬性放在 Protected 不給使用者自行畫
可以使用此方法取得Canvas

種類2: (TChart, TStringGrid, TLabel, TPageControl......)
依樣繼承 TWinControl ,擁有自己的 Handle, HDC
但是 Canvas 屬性放在 Public 可以給使用者自行畫
直接在元件的事件 OnPaint 內寫 Canvas 方式

種類3: (TPaintBox, TImage, TShape...)
繼承 TGraphicControl ,沒有Handle,
但是有Canvas屬性,也是同種類1,2一樣
分成放置在Protected or Public 裡
Public 可以給使用者自行畫
放在 Protected 裡面可以採用攔截視窗重繪訊息方式
或是自己新增元件,繼承 TShape 之後把 Canvas 屬性拉到 Public
最後新增事件 OnPaint 也可以自己畫囉

系統時間:2024-04-26 15:54:17
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!