VB中Panel和GroupBox区别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VB中Panel和GroupBox区别相关的知识,希望对你有一定的参考价值。
大家帮我说说VB中Panel和GroupBox区别;
越详细越好啊
谢谢大家了
Panel控件的常用属性
1、Anchor和Dock:这两个属性是所有有用户界面的控件都有的定位属性。
2、Name属性:标识控件的对象名称
3、BorderStyle属性:指示Panel控件的边框样式,共有三个枚举值:
BorderStyle.None(默认)—无边框。
BorderStyle.Fixed3D—三维边框
BorderStyle.FixedSingle—单行边框
此外还可以通过BackColor、BackgroundImage属性来改变Panel控件的外观。
4、Font和ForeColor属性,用于改变Panel控件内部文字的大小与文字的颜色,需要注意的时候,这里改变的是其内部控件的显示的Text属性的文字外观。
5、AutoScroll属性:该属性指示当控件超出Panel显示的区域时,是否自动出现滚动条,默认为False。
GroupBox(控件组)控件一般是作为其他控件的组的容器的形式存在的,这样有利于用户识别,使界面变得更加友好(GroupBox控件相当于Visual Basic以前版本的Frame控件)。使用控件组控件可以将一个窗体中的各种功能进一步进行分类,例如,将各种选项按钮控件分隔开。
当移动单个GroupBox控件时,它所包含的所有控件也将一起移动。
GroupBox控件的常用属性
1、Anchor和Dock:这两个属性是所有有用户界面的控件都有的定位属性,这里就不啰嗦了。
2、Name属性:标识控件的对象名称。
3、Text属性:显示在GroupBox控件右上方的标题文字,可以用来标识该控件组的描述。
4、Font和ForeColor属性,用于改变GroupBox控件的文字大小以及文字的颜色,需要注意的时候,它不单改变GroupBox控件的Text属性的文字外观,同时也改变其内部控件的显示的Text属性的文字外观。 参考技术A GroupBox和Panel控件,只存在一点细微的差别而已
这个差别是:只有GroupBox控件可以显示标题,而Panel控件可以有滚动条.本回答被提问者和网友采纳 参考技术B 楼主说的没错 就是可以滚动 别的没什么区别!!!!!!!!!!
delphi 使用GDI吧jpg图片绘制在groupbox中的问题
procedure TForm1.Button1Click(Sender: TObject);
var
g : IGpGraphics;
RedPen : IGpPen;
Img : IGpImage;
r : TGpRectF;
mybox:tpanel;
dc:hdc;
begin
mybox:=tpanel.Create(self);
mybox.Parent:=self;
mybox.SetBounds(10,10,480,480);
dc:=getdc(mybox.Handle);
g := NewGpGraphics(dc);
RedPen := NewGpPen(kcRed, 3.0);
g.SmoothingMode := smHighQuality;
Img := NewGpBitmap(ExtractFilePath(ParamStr(0)) + test.jpg');
r := GpRect(0.0, 0.0, 80, 80);
g.ScaleTransform(0.1, 0.1);
g.DrawImage(Img,150,150);
g.ResetTransform();
end;
以上是代码,编译没有报错,但是在运行过程中JPG图片只是闪了一下就没有了,不知道是为什么,望达人解惑
我的最终目的是动态排列N张JPG照片,但是照片都很大,至少都有3兆,大的有10兆,直接将照片放到image控件中是不可能的,只要放十来张就不能放了,占用资源太大了,所以现在想试试绘画上去的方法,但是绘画上去没有控件支持的话貌似是没有事件响应的,所以考虑用groupbox作为载体,将图片放在里面,如果有更好更方便的方法可以实现此功能也请说说
之前是考虑过把裁剪过的图放在数据库中,中间要多两道工序,而且效率好像不高,而且少则几十张多则两百张,所以这个是最后不得已的方法了
追答如果说图片不是由用户来决定的话,放在数据库中是一种最好的办法了
参考技术B 学Delphi的果然没几个靠谱的。1、GroupBox是Windows标准控件,如果不重写它的消息循环,每次重画Windows都会用默认的灰色画刷覆盖GroupBox表面。另外如果你只是要承载图片,用CreateWindow创建一个普通窗口不行么,非得用GroupBox?
2、至于怎么做,一点不难,我都懒的写。真有兴趣的话,可以进一步追问,我可以告诉你。 参考技术C 可以考虑画到TPaintBox里面,这是个专门用来绘画的控件,把绘画代码写到OnPaint事件里,当有区域失效或调用Invalidate就可以重绘追问
目前正在尝试使用paintbox控件来实现这个功能,但是在如何让图片能够完美填充paintbox还有有问题,图片的宽高是用的图片像素,和控件的宽高完全不是一个计算方法的。。。
本回答被提问者采纳 参考技术D 写绘图的画,应该在OnPaint 事件中去写,这样才能避免窗体在重绘时,图象不会刷新掉。追问groupbox没有这个事件的,否则我就不会找它的句柄了
不过我找了一下image好像有print事件,我会试一试
此事件是在Form中的
以上是关于VB中Panel和GroupBox区别的主要内容,如果未能解决你的问题,请参考以下文章
Windows 窗体应用程序中的 Panel vs GroupBox
如何使用 XAML 在 Panel 或 GroupBox 等整个容器上设置 IsReadOnly / IsEnabled?