从品牌网站建设到网络营销策划,从策略到执行的一站式服务
用这个函数没错。
创新互联主营百色网站建设的网络公司,主营网站建设方案,app软件开发,百色h5成都微信小程序搭建,百色网站营销推广欢迎百色等地区企业咨询
你的hwnd没有写清楚,这样hwnd是没定义的,要指定具体窗体的hwnd,如form1.hwnd
rtn = GetWindowLong(hwnd, GWL_EXSTYLE)
SetWindowLong hwnd, GWL_EXSTYLE, rtn
SetLayeredWindowAttributes hwnd, H80C0FF, 0, LWA_COLORKEY
中的hwnd参数,全部改成 me.hwnd ,即当前窗口的hwnd
做一个窗体模板,假设是Form2
Dim x as New Form2
x.Show()
如果弹出窗口较多,x可以用动态数组替代
绘制和数据分离,就是说,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中,通过
窗体对象.ShowDialog()
启动窗体为“非模式“状态
设置Region属性:
Dim path As New System.Drawing.Drawing2D.GraphicsPath
path.AddEllipse(0, 0, 400, 300)
Region = New Region(path)
两个显示器显示有两种模式,一种是
双屏
复制,另一种是扩展。
你这个只能用第二种方式。你需要把要在另一个显示器上显示的窗体的Location设置在主显示器全屏时的右边就可以了.其实就是桌面的向右延伸。
在主显示上拖一下窗体就明白了!
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图