Читаем Советы по Delphi. Версия 1.4.3 от 1.1.2001 полностью

VK_BACK:

 begin

  Key := 0;  {этим мы не позволяем сообщению keydown передаваться дальше,

   например, форме или компонентам}

  выполняем нужный код;

 end;

end;

Вставка текста в TMemo II

Delphi 1

Используйте сообщение Windows API EM_REPLACESEL:

EM_REPLACESEL

wParam = 0; /* не используется, должен быть ноль */

lParam = (LPARAM) (LPCSTR) lpszReplace; /* адрес новой строки */

Для замены текущего выбранного текста в поле редактирования, приложение должно послать сообщение EM_REPLACESEL, где параметр lpszReplace содержит новый текст.

ПараметрОписание
lpszReplaceЗначение lParam. Указатель на терминированную нулем строку, содержащую замещающий текст. { Указатель на строку }

Возвращаемое значение

Данное сообщение значение не возвращает.

Комментарии

Используйте сообщение EM_REPLACESEL, если вы хотите изменять только часть текста поля редактирования. Если вам нужно заменить весь текст, используйте сообщение WM_SETTEXT.

В случае отсутствия выбранного текста, замещающий текст вставляется в текущую позицию курсора.

(из справки по Windows API)

Сделайте список с вашими стандартными фразами, и используйте события "OnClick" или "OnMouseDown" в комбинации с "Alt", "Shift" или "Ctrl". Пример: Когда пользователь нажимает клавишу "Alt" в комбинации с правой кнопкой мыши, выводится список заранее подготовленных фраз и выбранная вставляется в ваш TMemo-компонент.

Для вставки строки в Memo:

procedure TForm1.Button1Click(Sender: TObject);

begin

 with Memo1 do begin

  SelStart:=10;

  SelLength:=0;

  SelText:='Эта строка включается в Memo, начиная с 10-й позиции ';

 end;

end;

Для вставки строки и замены некоторого существующего текста:

procedure TForm1.Button1Click(Sender: TObject);

begin

 with Memo1 do begin

  SelStart:=10;

  SelLength:=20;

  SelText:='Эта строка включается в Мемо, начиная с 10-й позиции и замещает собой 20 символов ';

 end;

end;

Поместите текст, который вы хотите вставить, в переменную PChar, затем вставьте текст в Memo, используя команду SetSelTextBuf, где SelStart устанавливается в позицию курсора TMemo. Это классно работает.

Другая полезность: вы можете обхойти предел TMemo в 32K в случае, если вы загружаете в него текст, пользуясь методом/командой Lines.LoadfromFile. Компонент имеет внутренний предел в 32K. Если вы загружаете нужный файл в указатель, и используете команду/метод SetTexBuf, то в этом случае в TMemo можно загрузить текста вплоть до 64K. 

NoteBook 

Включение/Выключение закладки Notebook II

Delphi 2 

В обработчике события OnChange вашего TTabbedNotebook разместите код примерно такого содержания:

if (NewTab = 0) and (IWantToDisableTab0) then AllowChange := False;

if (NewTab = 1) and (IWantToDisableTab1) then AllowChange := False;

Да, можно использовать конструкцию Case, но If в данном случае я посчитал удобнее.

OutLine 

Раскрытие пути к элементу TOutline по его индексу

Delphi 1 

Когда я писал этот код, у меня была цель по индексу TOutlineNode (который являлся результатом поиска) раскрыть его путь (т.е. раскрыть дочерние узлы, ведующие к нему), не затрагивая при это остальные узлы. 

Следующая процедура в качестве параметра принимает индекс, после чего раскрывает путь к элементу с этим индексом. 

Процедура подразумевает работу с объектом TOutline, имеющим имя Outline.

var Outline: TOutline;

procedure TSearchDlg.ExpandPathToFoundItem(const FoundItemIndex: Longint);

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

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

Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript
Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript

Данная книга посвящена программированию игр с помощью ActionScript. Здесь вы найдете подробные указания, необходимые для создания самых разных игр – аркад, головоломок, загадок и даже игровых автоматов. В тексте приведены исходные коды программ и детальные, доступно изложенные инструкции. Базовые принципы программирования ActionScript рассматриваются на примере игр, однако вы без труда сможете применить полученные знания и для разработки неигровых проектов, таких как Web-дизайн и реклама. Рекомендации Гэри Розенцвейга помогут вам не только придумывать занимательные игры и размещать их на Web-сайте, но и оптимизировать скорость их работы, а также защищать свои творения от несанкционированного копирования. Представленный в книге код несложно изменить для использования в других программах.Книга предназначена для широкого круга читателей – создателей анимационных роликов, художников-оформителей, программистов и разработчиков Web-сайтов. Издание может также выступать в качестве практического пособия по изучению ActionScript.

Гэри Розенцвейг

Программирование, программы, базы данных / Программирование / Книги по IT
Программирование. Принципы и практика использования C++ Исправленное издание
Программирование. Принципы и практика использования C++ Исправленное издание

Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие. Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток. Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».

Бьерн Страуструп , Бьёрн Страуструп , Валерий Федорович Альмухаметов , Ирина Сергеевна Козлова

Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT