Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как изменять только Width компонента Panel мышью в Runtime? [D5]


stany ©   (2002-08-18 21:55:00) 

.


stany   (2002-08-18 23:29:00) [1]

Thank you very much!


Ученик   (2002-08-18 23:24:00) [2]

TForm1 = class(TForm)
Panel1: TPanel;
procedure Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Panel1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
private
{ Private declarations }
FStartPoint : TPoint;
FMouseDown : Boolean;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if ssLeft in Shift then begin
FMouseDown := True;
FStartPoint := Point(X, Y)
end
end;

procedure TForm1.Panel1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
FMouseDown := False
end;

procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if FMouseDown then begin
Panel1.Width := Panel1.Width + X - FStartPoint.X;
FStartPoint := Point(X, Y)
end
end;


stany   (2002-08-18 23:17:00) [3]

Спасибо, но желательно что-бы Panel рисовалась сразу(без предварительной рамки)


Ученик   (2002-08-18 22:52:00) [4]

procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if ssLeft in Shift then begin
ReleaseCapture;
SendMessage(Panel1.Handle, WM_NCLBUTTONDOWN, HTRIGHT, 0)
end
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо