PDA

View Full Version : سوال: بالاچین



sajioo
چهارشنبه 03 آبان 1391, 08:42 صبح
دوستان گلم سلام
نمی دونم سوالم رو درست طرح می کنم یا نه؟
فرضا من بر روی فرم برنامه ام یک scrollbox دارم که هر 10 ثانیه یک بار یک باتن جدید در این اسکرول بوجود میاد. می خوام این باتن ها از بالا مرتب بشن . یعنی چی؟
یعنی اینکه می خوام مثلا باتن اول اگه top اش مثلا 20 هستش وقتی باتن دوم بوجود میاد باتن دوم top اش بشه 20 و باتن اول top اش بشه مثلا 40 و بره زیر باتن دوم. همینطور باتن سوم و چهارم .....
می خوام ببینم میشه یعنی مثلا اگه 100 تا باتن بود چطور 100 تا باتن را شیفت بدم پایین و باتن 101 بالاتر از همشون باشه . می خواستم بدونم خود اسکرول باکس چنین خاصیتی نداره؟:متفکر:
اگه راه حل دیگری در ذهنتون هست منو راهنمایی کنید!

BORHAN TEC
چهارشنبه 03 آبان 1391, 08:55 صبح
سلام
کد زیر این کار را انجام می دهد:
unit Unit4;

interface

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

type
TForm4 = class(TForm)
ScrollBox1: TScrollBox;
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form4: TForm4;

implementation

{$R *.dfm}

var
I: Integer;

procedure TForm4.Timer1Timer(Sender: TObject);
var
btn: TButton;
begin
btn := TButton.Create(Self);

btn.Parent := ScrollBox1;
btn.Align := alTop;
btn.Top := 0;
btn.Caption := IntToStr(I);
Inc(I);
btn.Show;
end;

end.