СИТ "Сетевые Информационные Технологии (в машиностроении)"
Неформальное объединение IT специалистов
 
tltr
..Visual Loodsman for Delphi
Предыдущая страницаСледующая страницаГлавная страницаКарта сайтаКарта сайта
   
   
   
  Главная
  Карта сайта
  Контакты
   
  Учебное пособие:
  Содержание
   
   
  Компания АСКОН
.....
Урок 11 - Использование спецсимволов (продолжение)
 

Шаг 11.2 - Создание процедуры установки спецсимвола

     Реализуем механизм вставки спецсимвола в текущий компонент редактирования из буфера обмена Windows. В структуре описания формы fmMDIChild в секции protected зарегистрируем новую процедуру PasteSpecSymbol, как указано ниже. 

     TfmMDIChild = class(TForm)
     procedure FormClose(Sender: TObject; var Action: TCloseAction);
     private
          { Private declarations }
          BufWidth: integer;
          BufHeight: integer;
          BufTop: integer;
          BufLeft: integer;
     protected
          { Protected declarations }
          procedure WndProc(var Message: TMessage); override;
          procedure PasteSpecSymbol;
     public
          { Public declarations }
     end;

     В разделе implementation в разделе uses добавим следующие описания:

uses VLDefinition, VLEdit, VLComboBox, VLMemo, ClipBrd;

     Установите курсор на описание процедуры PasteSpecSymbol и нажмите клавишы <Ctrl>+<Shift>+<C>. Будет создана собственно процедура PasteSpecSymbol, в теле процедуры введите строки, как указано ниже.

procedure TfmMDIChild.PasteSpecSymbol;
var
     cED: TVLEdit;
     cCMB: TVLComboBox;
     cMM: TVLMemo;
     // указатели на визуальные компоненты редактирования,
     // в которые может быть вставлен спецсимвол

begin
     if Self.ActiveControl<>nil then
     // если активизирован какой-нибудь визуальный компонент
     begin
          case Self.ActiveControl.Tag of
          1: // компонент TVLEdit, каждый тип визуального компонента в системе Visual Loodsman
          // имеет свой уникальный целочисленный идентификатор, для удобства
          // определения типа

               begin
                    cED:=TVLEdit(Self.ActiveControl);
                    // привести тип активного компонента к указателю
                    cED.PasteFromClipboard;
                    // вставить содержимое буфера обмена
               end;
          2: // компонент TVLComboBox
               begin
                    cCMB:=TVLComboBox(Self.ActiveControl);
                    // привести тип активного компонента к указателю
                    cCMB.PasteFromClipboard;
                    // вставить содержимое буфера обмена
               end;
          7: // компонент TVLMemo
               begin
                    cMM:=TVLMemo(Self.ActiveControl);
                    // привести тип активного компонента к указателю
                    cMM.PasteFromClipboard;
                    // вставить содержимое буфера обмена
               end;
          end;
     end;
end;

     Далее...

Предыдущая страницаСледующая страницаГлавная страницаКарта сайтаКарта сайта
 
...© 2010 "Сетевые Информационные Технологии" ...Главная...Карта сайта...Контакты