Почитайте!

Нас читают

Статьи о программировании и не только

Mail.Ru

Rambler's Top100

Programming Blogs - BlogCatalog Blog Directory

Пополнение Delphi FAQ

08.05.2010 от Иван Ширко

Наш Delphi FAQ постоянно пополняется новыми готовыми функциями, каждая из которых отлично решает свою маленькую задачу. Вот список новинок:

Заглядывайте к нам в Delphi FAQ - вы всегда найдете то, что вам нужно.

При подготовке кода к публикации очень удобно форматировать его с помощью многофункционального текстового редактора Notepad++, в котором есть и подсветка синтаксиса и удобное форматирование блоков.

Рубрики: Delphi, Новости | Комментарии (6) »

Комментарии (6)

  1. анатолий пишет:

    помогите кто может нужно построить фигуры, скажем:круг, квадрат и т.д.. в delphi и курсором двигать их по экрану.

  2. ИРИНА пишет:

    unit Unit1;

    interface

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

    type
    TForm1 = class(TForm)
    Shape1: TShape;
    Shape2: TShape;
    Shape3: TShape;
    BitBtn1: TBitBtn;
    procedure Shape3MouseDown(Sender: TObject; Button: TMouseButton;
    Shift: TShiftState; X, Y: Integer);
    procedure Shape3MouseMove(Sender: TObject; Shift: TShiftState; X,
    Y: Integer);
    procedure Shape3MouseUp(Sender: TObject; Button: TMouseButton;
    Shift: TShiftState; X, Y: Integer);
    private
    { Private declarations }
    public
    { Public declarations }
    end;

    var
    Form1: TForm1;
    {изначально зн-ие = false, зн-е = true во время операции перетаскивания}
    X1, Y1: Integer; {координаты указателя мыши}
    FocusRect: TRect; {переменная типа TRеct со значениями Left, Top, Right и Bottom, определяющими контурный прямоуг-к, кот-й отображается на экране в процессе перетаскивания}
    PS: TShape; {указатель, который используется программой для ссылки на перетаскиваемый элемент}
    Dragging_: Boolean;

    implementation

    {$R *.dfm}

    procedure TForm1.Shape3MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    begin
    Dragging_ := True;
    X1 := X; {отмечается положения указателя мыши}
    Y1 := Y; {отмечается положения указателя мыши}
    PS := Sender as TShape; {в переменной PS сохраняется перетаскиваемый объект}
    with PS do
    FocusRect := Rect(Left, Top, Left + Width, Top + Height); {запоминается местоположение графического объекта}
    Canvas.DrawFocusRect(FocusRect); {рисуется контур с запомненными характеристиками}
    end;

    procedure TForm1.Shape3MouseMove(Sender: TObject; Shift: TShiftState; X,
    Y: Integer);
    begin
    if Dragging_ then begin
    Canvas.DrawFocusRect(FocusRect); {при повторном вызове этого метода контурный прямоугольник исчезает с экрана}
    with FocusRect do begin
    Left := (PS.Left + X) — X1; {определяется новое местоположение графического объекта}
    Top := (PS.Top + Y) — Y1; {определяется новое местоположение графического объекта}
    Right := PS.Width + Left; {определяется новое местоположение графического объекта}
    Bottom := PS.Height + Top; {определяется новое местоположение графического объекта}
    end;
    Canvas.DrawFocusRect(FocusRect); {при вызове метода с новыми параметрами контурный прямоугольник переместится в соответствии с новым положением указателя мыши}
    end;
    end;

    procedure TForm1.Shape3MouseUp(Sender: TObject; Button: TMouseButton;
    Shift: TShiftState; X, Y: Integer);
    begin
    if Dragging_ then begin
    Canvas.DrawFocusRect(FocusRect); {удаление контурного прямоугольника}
    Dragging_ := False;
    with Sender as TShape do begin
    Left := (Left + X) — X1; {присваиваются новые значения свойствам граф-го элемента, при этом объект перемещается в последнее место расположения контурного прямоугольника}
    Top := (Top + Y) — Y1;
    end;
    end;
    end;

    end.

  3. ИРИНА пишет:

    ставишь на форму кнопку для close(BitBtn1)и три Shape-квадрат с круглыми краями, круг и квадрат

  4. Анатолий пишет:

    Спасибо , хоть и через месяц)

  5. Роман пишет:

    Полезная инфа, много интересного подчеркнул для себя

  6. samsim пишет:

    Неплохой наборчик для начинающого веб програмиста. Очень кратко и познавательно.