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

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

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

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

Пополнение Delphi FAQ: 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. Неплохой наборчик для начинающого веб програмиста. Очень кратко и познавательно.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *