Виртуальная библиотека Delphi

Здесь есть возможность читать онлайн «Виртуальная библиотека Delphi» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Виртуальная библиотека Delphi: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Виртуальная библиотека Delphi»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Виртуальная библиотека Delphi — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Виртуальная библиотека Delphi», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

end;

procedure TForm1.FormDestroy(Sender: TObject);

begin

{Set the window procedure back to the old window procedure.}

SetWindowLong(ScrollBox1.Handle, GWL_WNDPROC, LongInt(OldWindowProc));

end;

Вопрос:

Как сделать прямоугольник для выделения части картинки для редактирования?

Ответ:

Самый простой способ — воспользоваться функцией Windows API DrawFocusRect. Функция DrawFocusRect использует операцию XOR при рисовании — таким образом вывод прямоугольника дважды с одними и теми же координатами стирает прямоугольник, и прямоугольник всегда будет виден, на фоне какого бы цвета он не выводился.

Пример:

type TForm1 = class(TForm)

procedure FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

procedure FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

private

{Private declarations}

Capturing : bool;

Captured : bool;

StartPlace : TPoint;

EndPlace : TPoint;

public

{Public declarations}

end;

var Form1: TForm1;

implementation

{$R *.DFM}

function MakeRect(Pt1 : TPoint; Pt2 : TPoint) : TRect;

begin

if pt1.x < pt2.x then begin

Result.Left := pt1.x;

Result.Right := pt2.x;

end else begin

Result.Left := pt2.x;

Result.Right := pt1.x;

end;

if pt1.y < pt2.y then begin

Result.Top := pt1.y;

Result.Bottom := pt2.y;

end else begin

Result.Top := pt2.y;

Result.Bottom := pt1.y;

end;

end;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

begin

if Captured then DrawFocusRect(Form1.Canvas.Handle,MakeRect(StartPlace,EndPlace));

StartPlace.x := X;

StartPlace.y := Y;

EndPlace.x := X;

EndPlace.y := Y;

DrawFocusRect(Form1.Canvas.Handle,MakeRect(StartPlace,EndPlace));

Capturing := true;

Captured := true;

end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin

if Capturing then begin

DrawFocusRect(Form1.Canvas.Handle,MakeRect(StartPlace,EndPlace));

EndPlace.x := X;

EndPlace.y := Y;

DrawFocusRect(Form1.Canvas.Handle,MakeRect(StartPlace,EndPlace));

end;

end;

procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

begin

Capturing := false;

end;

Вопрос:

Можно ли использовать иконку как картинку на кнопке TSpeedButton?

Ответ:

Можно.

См. пример.

Пример:

uses ShellApi;

procedure TForm1.FormShow(Sender: TObject);

var Icon: TIcon;

begin

Icon := TIcon.Create;

Icon.Handle := ExtractIcon(0,'C:\WINDOWS\NOTEPAD.EXE',1);

SpeedButton1.Glyph.Width := Icon.Width;

SpeedButton1.Glyph.Height := Icon.Height;

SpeedButton1.Glyph.Canvas.Draw(0, 0, Icon);

Icon.Free;

end;

Вопрос:

Как поместить прозрачную фоновую каринку на компонент CoolBar?

Ответ:

procedure TForm1.Button1Click(Sender: TObject);

var

Bm1 : TBitmap;

Bm2 : TBitmap;

begin

Bm1 := TBitmap.Create;

Bm2 := TBitmap.Create;

Bm1.LoadFromFile('c:\download\test.bmp');

Bm2.Width := Bm1.Width;

Bm2.Height := Bm1.Height;

bm2.Canvas.Brush.Color := CoolBar1.Color;

bm2.Canvas.BrushCopy(Rect(0, 0, bm2.Width, bm2.Height), Bm1, Rect(0, 0, Bm1.width, Bm1.Height), ClWhite);

bm1.Free;

CoolBar1.Bitmap.Assign(bm2);

bm2.Free;

end;

Вопрос:

Ползунок компонента TScrollBar все время мигает. Как это отключить?

Ответ:

Установите свойтсво ScrollBar.TabStop в False.

Вопрос:

Как программно перевести DBgrid в реим редактирования и установить курсор в окошке редактирования в требуемую позицию?

Ответ:

Переведите таблицу в режим редактирования, затем получите дескриптор (handle) окна редактирования и перешлите ей сообщение EM_SETSEL. В качестве параметров вы должны переслать начальную позицию курсора, и конечную позицию, определяющую конец выделения текста цветом. В приведенном примере курсор помещается во вторую позицию, текст внутри ячейки не выделяется.

Пример:

procedure TForm1.Button1Click(Sender: TObject);

var h : THandle;

begin

Application.ProcessMessages;

DbGrid1.SetFocus;

DbGrid1.EditorMode := true;

Application.ProcessMessages;

h:= Windows.GetFocus;

SendMessage(h, EM_SETSEL, 2, 2);

end;

Вопрос:

Как поместить курсор в определенную позицию edit'а и подобных ему элементов управления?

Ответ:

Можно использовать методы Delphi SelStart() и SelectLength().

Пример:

procedure TForm1.Button1Click(Sender: TObject);

begin

Edit1.SetFocus;

{переводим курсор во вторую позицию}

Edit1.SelStart := 2;

{не выделяем никакого текста}

Edit1.SelLength := 0;

end;

Вопрос:

Как среагировать на минимизацию-максимизацию формы перед тем как произойдет изменение размера формы?

Ответ:

В примере перехватывается сообщение WM_SYSCOMMAND. Если это сообщение говорит о минимизации или максимизации формы — пищит динамик.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Виртуальная библиотека Delphi»

Представляем Вашему вниманию похожие книги на «Виртуальная библиотека Delphi» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Виртуальная библиотека Delphi»

Обсуждение, отзывы о книге «Виртуальная библиотека Delphi» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x