Пополнение Delphi FAQ
08.05.2010 от Иван ШиркоНаш Delphi FAQ постоянно пополняется новыми готовыми функциями, каждая из которых отлично решает свою маленькую задачу. Вот список новинок:
- Как узнать цвет точки в определенном месте экрана? - готовая функция на Delphi, которая по заданным координатам точки возвращает код цвета в этой точке.
- Как долго работает Windows? - Windows во время запуска начинает отсчет времени своей работы. И это время позволяет узнать эта функция.
- Как узнать тип файловой системы диска? - а эта функция возвращает наименование файловой системы указанного логического диска.
- Как получить имя принтера, установленного по умолчанию? - с помощью этой функции можно узнать имя принтера, который используется в системе по умолчанию.
Заглядывайте к нам в Delphi FAQ - вы всегда найдете то, что вам нужно.
При подготовке кода к публикации очень удобно форматировать его с помощью многофункционального текстового редактора Notepad++, в котором есть и подсветка синтаксиса и удобное форматирование блоков.
04.05.2011 в 06:57
помогите кто может нужно построить фигуры, скажем:круг, квадрат и т.д.. в delphi и курсором двигать их по экрану.
01.06.2011 в 20:42
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.
01.06.2011 в 20:44
ставишь на форму кнопку для close(BitBtn1)и три Shape-квадрат с круглыми краями, круг и квадрат
08.06.2011 в 10:12
Спасибо , хоть и через месяц)
09.01.2012 в 21:20
Полезная инфа, много интересного подчеркнул для себя