
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Text1Text = "X:" & X
Text2Text = "Y:" & Y
End Sub
IF 条件为__时 then
form1move x y
end
我这人很懒,只能给你思想,没时间给你写出代码,
把窗体,"打印"
到
picture
控件
再用
picture1point(x,y)
窗体被别的程序盖住时可行,最小化时,窗体只有一个标题栏
private
declare
function
printwindow
lib
"user32"
(byval
srchwnd
as
long,
byval
deshdc
as
long,
byval
uflag
as
long)
as
long
'把窗体form1
打印到
窗体form2picture1
pictuer1的autoredraw
属性要为true
private
sub
command1_click()
call
printwindow(form1hwnd,
form2picture1hdc,
0)
debugprint
form2picture1point(100,
100)
end
sub
支持库 EdirectX
程序集 窗口程序集1
程序集变量 窗口句柄, 整数型
程序集变量 a, 矩形
子程序 _按钮1_被单击
窗口句柄 = 寻找顶级窗口_ (“”, “”)
取窗口矩形_ (窗口句柄, a)
改变窗口_ (窗口句柄, 0, 0, a右边 - a左边, a底边 - a顶边, 1)
版本 2
支持库 EdirectX
DLL命令 寻找顶级窗口_, 整数型, "user32dll", "FindWindowA", , , FindWindow,寻找窗口列表中第一个符合指定条件的顶级窗口
参数 窗口类名, 文本型, , lpClassName,参见相关帮助
参数 窗口文本, 文本型, , lpWindowName,参见相关帮助
DLL命令 取窗口矩形_, 整数型, "user32", "GetWindowRect"
参数 窗口句柄, 整数型
参数 矩形区域, 矩形
DLL命令 改变窗口_, 整数型, "user32dll", "MoveWindow"
参数 窗口句柄, 整数型, , hwnd,欲移动窗口的句柄
参数 左侧位置, 整数型, , x,窗口新的左侧位置
参数 顶部位置, 整数型, , y,窗口新的顶部位置
参数 新宽度, 整数型, , nWidth,窗口的新宽度
参数 高宽度, 整数型, , nHeight,窗口的高宽度
把鼠标移到像素坐标不是整数的位置,是不可能的事,所以获得的像素坐标是没误差的,转换成的窗体缇坐标也没误差。
默认设置下,缇和像素的关系是15,如果你没改过设置,最好确认一下是不是12。
vbnet 2008
Public Class Form1
Private Sub Form1_Load(ByVal sender As SystemObject, ByVal e As SystemEventArgs) Handles MyBaseLoad
End Sub
Private Sub Button1_Click(ByVal sender As SystemObject, ByVal e As SystemEventArgs) Handles Button1Click
Dim a_Point, b_Point, c_point As Point
b_Point = MousePosition '鼠标点击坐标(屏幕上的屏幕坐标)
a_Point = PointToClient(MousePosition) 'vbnet中的窗体坐标
c_point = PointToScreen(a_Point) '将vbnet中的窗体坐标转换成屏幕上的屏幕坐标
End Sub
End Class
以上就是关于VB 显示窗体内的坐标全部的内容,包括:VB 显示窗体内的坐标、如何获得指定窗体工作区坐标、VB高手来 获取窗体坐标的代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)