我正在读一些VB6转换为C#.这条线是什么意思?是0&相当于IntPtr.Zero?
//'Get a Device context
hdc = GetDC(0&)
Run Code Online (Sandbox Code Playgroud)
这个值用于pinvoke,所以我不确定是否IntPtr.Zero有意义,因为我们需要选择一些对象.
OldFont = SelectObject(hdc, ObjFont)
Run Code Online (Sandbox Code Playgroud)
注意,ObjFont是通过填充的
//'Get the Window's font
ObjFont = SendMessage(hwnd, WM_GETFONT, 0, 0&)//there's that mysterious 0& agaain.
Run Code Online (Sandbox Code Playgroud)
它是一个(VB6)类型声明字符.有关这些问题的详细信息,请查看此问题.
在你的示例VB6代码中,它强制0为Long(4字节),否则它将是Integer(2字节)
这与再做VB6代码的长手法相同:
Dim lParam as Long
lParam = 0
ObjFont = SendMessage(hwnd, WM_GETFONT, 0, lParam)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
773 次 |
| 最近记录: |