新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
非常简单.
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、小程序设计、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了温州免费建站欢迎大家使用!
先用 GetForegroundWindow 来获取当前活动窗口的句柄,然后用 GetWindowText 来获得这个句柄的标题..就可以了,
我给你写了个代码 你运行看下就明白了..
在窗体上创建一个timer控件(用来随时检测活动窗口的标题),然后复制下面的代码 运行 就看到了...哥们,最好追加点分哦~~ o(∩_∩)o...~~
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function GetForegroundWindow Lib "user32" () As Long
Private Sub Form_Load()
Timer1.Interval = 500
Timer1.Enabled = True
Me.Width = Screen.Width / 2
End Sub
Private Sub Timer1_Timer()
Dim hd As Long, tt As String
tt = Space(255)
hd = GetForegroundWindow
GetWindowText hd, tt, 256
Cls
Print "活动窗口标题是 " tt
End Sub
你可以在窗体上放一个lable控件,取名叫lable1,
那么实现方式就是:
private
sub
form_load()
lable1.text="今天天气很好";
end
sub
你可以试试
绘制和数据分离,就是说,Paint 事件永远是用来绘制的,具体绘制什么东西(也就是绘制的数据,如半径为4的圆),有数据决定,MouseClick 可以更改一些参数,然后由Paint 绘制:
MouseClick 事件里,重绘窗体,即:
int r = 0, x = 0, y = 0;
private void Form1_MouseClick(object sender, MouseEventArgs e)
{
r = 10;
x = e.X;
y = e.Y;
this.Invalidate();
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
// 绘制一个r半径圆
e.Graphics.DrawEllipse(new Pen(Color.Red), x, y, r, r);
}
补充:
在 MouseClick 事件中去调用Form 的 Paint 事件,那么参数要如何传递?
参数是个全局变量,类似上面的r、x、y等,不是由e传过去的,
上述代码是c#的,vb.net和c#一样,都是用的fcl类库,你改一下就可以了,
VB.NET不能本身引用其默认实例 ,即是呢Form1本身是个类,在类内在实例化自已就会报错,所以设置了成员属性Me.text来设置窗口文本