Архив Категории ‘Советы’

Как управлять табуляцией в Memo-компоненте?

Для этого необходимо поставить свойство “WantTabs” в “True”.
Теперь для управления шириной табуляции необходимо вызвать API-функцию SendMessage.
В последнем параметре функция ожидает указатель на массив с элементами типа
Word, в котором указаны позиции в единицах экрана. Для примера вызов функции
с указанием двух позиций табуляции:

Read the rest of this entry »

Как можно опросить различные параметры системы, например количество
свободных ресурсов?

Для получения параметров системы существует множество различных API-функций.
Для того, чтобы узнать количество свободных ресурсов, – достаточно вызова
следующей API-функции:

Read the rest of this entry »

Системные сообщения (сокращения)

BM  - ButtonMode
BN  - Button
BS  - ButtonStyle
CB  - ComboBox
CBN - Combo Box Notifications
CBS - ComboBoxStyle
EM  - EditMessage
ES  - EditStyle
FM  - FileManager
LB  - ListBox
LBN - ListBox Notifications
LBS - ListBoxStyle
MB  - MessageButton (Typen)
PS  - PenStyle
SB  - ScrollBar
SBS - ScrollBarStyle
SM  - SystemMetrics
SPI - SystemParametersInfo
WM  - WindowMessage
WS  - WindowStyle
8
июня

Как сделать отступ в Memo?

   Автор: admin   в Советы

Как сделать отступ в Memo?

С помощью API-функции SendMessage можно задать поля в Memo-компоненте. Если
необходимо, например, сделать отступ в 20 пикселей слева то можно это сделать
следующим образом:


var Rect: TRect;
begin
  SendMessage( Memo1.Handle, EM_GETRECT, 0, LongInt(@Rect));
  Rect.Left:= 20;
  SendMessage(Memo1.Handle, EM_SETRECT, 0, LongInt(@Rect));
  Memo1.Refresh;
end;

Как создать и вызвать модальную форму?

Модальные формы довольно часто выгоднее (с точки зрения использования памяти)
временно создавать, и после того, как форма была вызвана, отработан и закрыт,
- освободить его из памяти. В противном случае Delphi-приложение может быть
настоящим “пожирателем памяти”. Примерно так может выглядеть вызов такой
формы:

Read the rest of this entry »

Как “быструю подсказку” (Hints) сделать многострочной?

Необходимо создать соответствующую компоненту которая показывает “быструю
подсказку” (Hints) с более чем одной строкой. Компонента наследуется от
TComponent и называется TMHint. Hint-текст можно задавать следующим образом:
“Строка 1@Строка 2@Строка 3″. Символ ‘@’ используется как разделитель строк.
Если Вам нравится другой символ – измените свойство Separator. Свойство
Active указывает на активность (TRUE) или неактивность (FALSE) “многострочности”.


unit MHint;
interface

uses

  SysUtils, WinTypes, WinProcs, Messages,

  Classes, Graphics, Controls, Forms, Dialogs; Read the rest of this entry »
8
июня

Поля в Memo-компоненте

   Автор: admin   в Советы

Поля в Memo-компоненте

С помощью API-функции SendMessage можно задать поля в Memo-компоненте.
Если необходимо, например, сделать отступ в 20 пикселей слева то можно
это сделать следующим образом:
 

var Rect: TRect;
begin
  SendMessage( Memo1.Handle, EM_GETRECT, 0, LongInt(@Rect));
  Rect.Left:= 20;
  SendMessage(Memo1.Handle, EM_SETRECT, 0, LongInt(@Rect));
  Memo1.Refresh;
end;

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

По умолчанию ini-файл создается в Windows-директории (например: TIniFile.Create(’FOO.INI’
)), что приводит к “захламлению” оной. Более (эко-)логично (за исключением
случаев, когда программа делается для CD-ROM) если ini-файл создается в
той же директории что и главная программа. Это достигается с помощью одной
строки:

Read the rest of this entry »

8
июня

INI-файлы (чтение/запись)

   Автор: admin   в Советы

INI-файлы (чтение/запись)

function ReadIni(ASection, AString : String) : String;
var
   sIniFile: TIniFile;
   sPath : String[60];
const
   S = 'xyz'; { стандартная строка для выдачи ошибок чтения }
begin
   GetDir(0,sPath);
   sIniFile := TIniFile.Create(sPath + '\Name.INI');
   Result := sIniFile.ReadString(ASection, AString, S); { [Section] String=Value }
   sIniFile.Free;
end;
 Read the rest of this entry »

Как ускорить навигацию по исходному тексту?

Весьма удобно при работе с текстами больше двух-трех страниц использовать
метки (bookmarks).

Чтобы установить подобную метку – необходимо нажать компбинацию клавиш:
CTRL+SHIFT+Число, где “Число” находится в пределах от 0 до 9. После этого
можно с любого места “прыгнуть” на эту метку. Для этого необходимо нажать
комбинацию CTRL+Число.
Read the rest of this entry »

Page 1 of 41234»