Читаем Виртуальная библиотека Delphi полностью

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

 procedure FormCreate(Sender: TObject);

private

 {Private declarations}

 Col : integer;

 Row : integer;

public

 {Public declarations}

end;

var Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);

begin

 StringGrid1.Hint := '0 0';

 StringGrid1.ShowHint := True;

end;

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

var

 r : integer;

 c : integer;

begin

 StringGrid1.MouseToCell(X, Y, C, R);

 with StringGrid1 do begin

  if ((Row <> r) or (Col <> c)) then begin

   Row := r;

   Col := c;

   Application.CancelHint;

   StringGrid1.Hint :=IntToStr(r)+#32+IntToStr(c);

  end;

 end;

end;

Вопрос:

Как внести изменения в код VCL?

Ответ:

Примечание: внесение изменений в VCL не поддерживается Borland или Borland Developer Support.

Но если Вы решили сделать это...

Изменения в код VCL никогда не должны вносится в секцию "interface" модуля — только в секцию "implimentation". Наиболее безопасный способ внести изменения в VCL — создать новый каталог названный "исправленный VCL". Скопируйте файл VCL который Вы хотите изменить в этот каталог. Внесите изменения (лучше прокомментировать их) в этот файл. Затем добавьте путь к Вашему каталогу "исправленный VCL" в самое начало "library path". Перезапустите Delphi/C++ Builder и перекомпилируйте Ваш проект. "library path" можно изменить в меню:

Delphi 1 : Options | Environment | Library

Delphi 2 : Tools | Options | Library

Delphi 3 : Tools | Environment Options | Library

Delphi 4 : Tools | Environment Options | Library C++

Builder : Options | Environment | Library 

Вопрос:

Как в Delphi реализовать функцию — эквивалент TwipsPerPixel из VisualBasic?

Ответ:

Функции TwipsPerPixelX и TwipsPerPixelY, приведенные в примере реализуют ту же функциональность в Delphi.

Пример:

function TwipsPerPixelX(Canvas : TCanvas) : Extended;

begin

 result := 1440 / GetDeviceCaps(Canvas.Handle, LOGPIXELSX);

end;

function TwipsPerPixelY(Canvas : TCanvas) : Extended;

begin

 result := 1440 / GetDeviceCaps(Canvas.Handle, LOGPIXELSY);

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

 ShowMessage(FloatToStr(TwipsPerPixelX(Form1.Canvas)));

 ShowMessage(FloatToStr(TwipsPerPixelY(Form1.Canvas)));

end;

Вопрос:

Как вставить содержимое файла в текущую позицию курсора в компонете TMemo?

Ответ:

Считайте файл в TMemoryStream, затем используйте метод TMemo SetSelTextBuf() для вставки текста;

var

 TheMStream : TMemoryStream;

 Zero : char;

begin

 TheMStream := TMemoryStream.Create;

 TheMStream.LoadFromFile('C:\AUTOEXEC.BAT');

 TheMStream.Seek(0, soFromEnd); //Null terminate the buffer!

 Zero := #0;

 TheMStream.Write(Zero, 1);

 TheMStream.Seek(0, soFromBeginning);

 Memo1.SetSelTextBuf(TheMStream.Memory);

 TheMStream.Free;

end;

Вопрос:

Как в компоненте TMemo перехватить нажатие Ctrl-V и вставить специальный текст не из буфера обмена (clipboard)?

Ответ:

См. пример.

Пример:

uses ClipBrd;

procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);

begin

 if ((Key = ord('V')) and (ssCtrl in Shift)) then begin

  if Clipboard.HasFormat(CF_TEXT) then ClipBoard.Clear;

  Memo1.SelText := 'Delphi is RAD!';

  key := 0;

 end;

end;

Вопрос:

Как создать эквивалент TEdit но только с выравниваением вводимого текста по центру или по правой стороне?

Ответ:

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных