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

Тут можно читать онлайн Виртуальная библиотека Delphi - бесплатно полную версию книги (целиком). Жанр: comp-programming. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте LibKing.Ru (ЛибКинг) или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Виртуальная библиотека Delphi
  • Название:
    Виртуальная библиотека Delphi
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    3/5. Голосов: 11
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 60
    • 1
    • 2
    • 3
    • 4
    • 5

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

Виртуальная библиотека Delphi - описание и краткое содержание, автор Неизвестный Автор, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

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

Виртуальная библиотека Delphi - читать книгу онлайн бесплатно, автор Неизвестный Автор
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

type TMyTabbedNotebook = class(TTabbedNotebook); //это наш "class cracer"

type TMyNotebook = class(TNotebook);

procedure TForm1.TabbedNotebook1Change(Sender: TObject; NewTab: Integer; var AllowChange: Boolean);

begin

with TabbedNotebook1 do //вызываем защищенный метод родительского класса

TMyTabbedNotebook(TWinControl(Pages.Objects[PageIndex])).DestroyHandle;

end;

procedure TForm1.TabSet1Change(Sender: TObject; NewTab: Integer; var AllowChange: Boolean);

begin

with Notebook1 do //вызываем защищенный метод родительского класса

TMyNotebook(TWinControl(Pages.Objects[PageIndex])).DestroyHandle;

NoteBook1.PageIndex := NewTab;

AllowChange := true

end;

Вопрос:

Функция keybd_event() принимает значения до 244 — как мне отправить нажатие клавиши с кодом #255 в элемент управления Windows?

Ответ:

Это может понадобится для иностранных языков или для специальных символов. (например, в русских шрифтах символ с кодом #255 — я прописное). Приведенный в примере метод не стоит использовать в случае, если символ может быть передан обычным способом (функцией keybd_event()).

procedure TForm1.Button1Click(Sender: TObject);

var KeyData : packed record

RepeatCount : word;

ScanCode : byte;

Bits : byte;

end;

begin

{Let the button repaint}

Application.ProcessMessages;

{Set the focus to the window}

Edit1.SetFocus;

{Send a right so the char is added to the end of the line}

// SimulateKeyStroke(VK_RIGHT, 0);

keybd_event(VK_RIGHT, 0,0,0);

{Let the app get the message}

Application.ProcessMessages;

FillChar(KeyData, sizeof(KeyData), #0);

KeyData.ScanCode := 255;

KeyData.RepeatCount := 1;

SendMessage(Edit1.Handle, WM_KEYDOWN, 255,LongInt(KeyData));

KeyData.Bits := KeyData.Bits or (1 shl 30);

KeyData.Bits := KeyData.Bits or (1 shl 31);

SendMessage(Edit1.Handle, WM_KEYUP, 255, LongInt(KeyData));

KeyData.Bits := KeyData.Bits and not (1 shl 30);

KeyData.Bits := KeyData.Bits and not (1 shl 31);

SendMessage(Edit1.Handle, WM_CHAR, 255, LongInt(KeyData));

Application.ProcessMessages;

end;

Вопрос:

Некоторые компоненты не меняют курсор мыши до тех пор пока пользователь не сдвинет мышь. Как эмулировать движение мыши?

Ответ:

В примере мышка слегка "подталкивается" без участия пользователя.

procedure TForm1.Button1Click(Sender: TObject);

var pt : TPoint;

begin

Application.ProcessMessages;

Screen.Cursor := CrHourglass;

GetCursorPos(pt);

SetCursorPos(pt.x + 1, pt.y + 1);

Application.ProcessMessages;

SetCursorPos(pt.x - 1, pt.y - 1);

end;

Вопрос:

Как зарегистрировать расширение файла за своим приложением и контекстное меню, связанное с этим типом?

Ответ:

Пример регистрирует расширение файла(.myext) — файлы этого типа будут открываться приложением MyApp.Exe. Также регнстрируется одно действие (action) по умолчанию для файлов этого типа и два дополнительных пункта контекстного меню, связанного с этим типом файлов. Возможно, потребуется перезайти в систему чтобы изменения вступили в силу.

Пример:

uses Registry;

procedure TForm1.Button1Click(Sender: TObject);

var R : TRegIniFile;

begin

R := TRegIniFile.Create('');

with R do begin

RootKey := HKEY_CLASSES_ROOT;

WriteString('.myext','','MyExt');

WriteString('MyExt','','Some description of MyExt files');

WriteString('MyExt\DefaultIcon','','C:\MyApp.Exe,0');

WriteString('MyExt\Shell','','This_Is_Our_Default_Action');

WriteString('MyExt\Shell\First_Action', '','This is our first action');

WriteString('MyExt\Shell\First_Action\command','', 'C:\MyApp.Exe /LotsOfParamaters %1');

WriteString('MyExt\Shell\This_Is_Our_Default_Action','', 'This is our default action');

WriteString('MyExt\Shell\This_Is_Our_Default_Action\command', '','C:\MyApp.Exe %1');

WriteString('MyExt\Shell\Second_Action', '','This is our second action');

WriteString('MyExt\Shell\Second_Action\command', '','C:\MyApp.Exe /TonsOfParameters %1');

Free;

end;

end;

Примечания

1

использовались только версии ODBC 2.0 и Access 2.0.

2

Local InterBase — однопользовательский SQL сервер базы данных. Версия, включенная в Delphi Desktop, предназначается для использования разработчиками, которые хотят разрабатывать SQL приложения (для последующего переноса их в среду клиент/сервер) без покупки собственной (дорогой) платформы сервера. Однако, Delphi Desktop не включает права распространения на Local InterBase. Если вы хотите распространять однопользовательское приложение, которое его использует, вы должны заплатить дополнительно за deployment kit.

3

Версия ReportSmithиз Delphi Desktop специально обнаруживает и исключает из списка возможных соединений любой ODBC драйвер к удаленному серверу данных. Да, вы не ослышались. Даже если вы купили ODBC драйвер третьей фирмы, и даже если вы можете прекрасно общаться с этим драйвером из Delphi, ReportSmith еще не будет с ним работать. Если вы хотите сделать это без покупки Delphi Client/Server, вы может купить ReportSmith/SQL отдельно за $300 (и тем не менее приобретете ReportSmith версии 2.0, а не 2.5, как в поставке Delphi Client/Server).

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

Интервал:

Закладка:

Сделать


Неизвестный Автор читать все книги автора по порядку

Неизвестный Автор - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




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


Отзывы читателей о книге Виртуальная библиотека Delphi, автор: Неизвестный Автор. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x