Home » Windows API

GetWindowDC

說明:
GetWindowDC 函式可取得整個視窗(包括邊框、標題列及選單)的裝置環境代碼(Device Context)


引用函式庫:
User32


適用系統:
Windows NT 3.1 或 Windows 95以上


函式原型:

Declare Function GetWindowDC Lib "user32" Alias "GetWindowDC" ( _
    ByVal hwnd As Long _
    ) As Long



參數型態及說明:
hwndLong 要取得整個視窗的裝置環境代碼(Device Context)的視窗代碼(Handle)

回傳值:
Long 呼叫成功的話,將會回傳非零的數值;若呼叫失敗的話,則回傳 0

.NET Framework API:
System.Drawing.Graphics.FromHwnd(Windows.Forms.Control.Handle)
System.Windows.Forms.Control.CreateGraphics.GetHdc
System.Windows.Forms.PaintEventArgs.Graphics.GetHdc


VB範例:

檢視原始碼 Visual Basic
1
2
3
4
5
6
7
8
9
'VB的宣告
Private Declare Function GetWindowDC Lib "user32" ( _
	ByVal hwnd As Long _
	) As Long
 
Dim hdc As Long
 
'取得目前執行視窗的整個視窗的裝置環境代碼(Device Context)
hdc = GetWindowDC(Form1.hwnd)

RB範例:

檢視原始碼 REALBasic
1
2
3
4
5
6
7
8
9
'RB的宣告
Declare Function GetWindowDC Lib "user32" Alias "GetWindowDC" ( _
	hwnd As Integer _
	) As Integer
 
Dim hdc As Integer
 
'取得目前執行視窗的整個視窗的裝置環境代碼(Device Context)
hdc = GetWindowDC(Window1.WinHWND)

VB.NET範例:

1
2
3
4
5
6
7
8
9
10
11
'VB.NET的宣告
<DllImport("user32.dll")> _
Shared Function GetWindowDC( _
	ByVal hwnd As IntPtr _
	) As IntPtr
End Function
 
Dim hdc As IntPtr
 
'取得目前執行視窗的整個視窗的裝置環境代碼(Device Context)
hdc = GetWindowDC(Me.Handle)

C#範例:

1
2
3
4
5
6
7
8
9
10
//C#的宣告
[DllImport("user32")]
public static extern IntPtr GetWindowDC(
	IntPtr hwnd
	);
 
IntPtr hdc;
 
//取得目前執行視窗的整個視窗的裝置環境代碼(Device Context)
hdc = GetWindowDC(this.Handle);

註釋:
RB 中用 GetDC(0) 也可以取得個視窗的裝置環境代碼(Device Context)

發表迴響