300分求解简单问题,帮顶给分(300分)

  • 主题发起人 主题发起人 一条大鱼
  • 开始时间 开始时间

一条大鱼

Unregistered / Unconfirmed
GUEST, unregistred user!
很久没有上来提问了,发现分比较多
为庆祝世界杯多贡献点分让大家同乐

在TScrollBox里添加一个TPanel
请问用什么方法让TPanel的位置固定,即,不论TScrollBox的滚动条如何滚动,TPanel的位置不变
 
TPanel.align=alTop;
不知道行不行,没试过
 
你看看这样可否:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls;

type
TForm1 = class(TForm)
ScrollBox1: TScrollBox;
Panel1: TPanel;
Panel2: TPanel;
procedure FormCreate(Sender: TObject);
procedure ScrollBox1ConstrainedResize(Sender: TObject; var MinWidth,
MinHeight, MaxWidth, MaxHeight: Integer);
private
{ Private declarations }
x,y:Integer;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
X:=self.Panel1.Left;
Y:=self.Panel1.Top;
end;

procedure TForm1.ScrollBox1ConstrainedResize(Sender: TObject; var MinWidth,
MinHeight, MaxWidth, MaxHeight: Integer);
begin
self.Panel1.Left:=X;
self.Panel1.Top:=y;
end;

end.
 
帮你顶。
 
很简单。。。不要放到TScrollBox就可以了,(panel浮在上面)
 
通则变,变则通~
 
动态改变Panel位置,相对于ScrollBox位置不便
 
都说了,我顶。。
 
许久没上了,混个分。固定坐标最简单
 
同意 weichao9999
动态改变Panel坐标,使其相对于ScrollBox的固定
 
想要点分数,发问题
 
帮你试一下,现在手边没有东东
 
帮顶接分
 
lmxcyx的方法可行
但需在控件内部使用,要覆盖那个事件

哪个还有更好一点的方法?
 
菜鸟来说句看看啊,不大明白你的意思,但是路过,来抓点分啊 呵呵
先把原来的值保存一下,然后每当他的值改变之后,在把原来保存的值还原过去
 
刚试完lmxcyx的方法
可行,但画面跳动,看上去不是很爽
哪个还有更好的方法?
 
要做的是一个控件,所有东西都放在TScrollBox里
放外面是不可能的
在里面放一个Panel,移动时屏幕不闪
但自己写了一个从TGraphicControl继承下的的控件放上去,移动时屏幕就闪了
不知为何
难道TWinControl跟TGraphicControl待遇不一样?
 
后退
顶部