Оценить:
 Рейтинг: 0

Иcпользование API на Delphi 7

Год написания книги
2012
<< 1 ... 8 9 10 11 12 13 14 15 >>
На страницу:
12 из 15
Настройки чтения
Размер шрифта
Высота строк
Поля

ss:='Кликни правой по калку …';

dc:=GetDC(h); SetBkMode(dc, TRANSPARENT);

TextOut(dc,15,4,pansichar(ss),length(ss));

// –

x:=TMsg(Pointer(lParam)^).message; // Получаем код сообщения окна

// Запрещаем щелкать по окошку калькулятора

if (wnd=h2) and (x=WM_LBUTTONDOWN) then begin

MessageBox(0, 'Нельзя !!!', 'Щелкать по окошку',0 );

TMsg(Pointer(lParam)^).message:=0; // Анулируем сообщение

end;

// Механиз обработки "нашего" пункта меню в калькуляторе

if (wnd=h) and (x=WM_COMMAND)

and (lo(TMsg(Pointer(lParam)^).wParam) = IDM_TSN)

then MessageBox(0, 'Да!', 'Калькулятор говорит', 0);

{ Передаем сообщение дальше по цепочке hook-ов }

1: Result:=CallNextHookEx(SysHook, Code, wParam, lParam);

end;

exports hook;

begin

end.

ЛЕКЦИЯ №8

1. РАБОТА С ПРИЛОЖЕНИЕМ «MS WORD»

unit main;

uses … ComCtrls, WordXP, OleServer, Variants;

type TForm1 = class(TForm)



wa: TWordApplication;

wd: TWordDocument;

var Form1: TForm1; t, tt, vv: OleVariant; // параметры для передачи

implementation



procedure TForm1.Button1Click(Sender: TObject);

var i:integer;

begin

wa := wa.Create(nil); // создаем экземпляр Word

wa.Visible := true; // делаем его видимым

t := 'Normal'; // шаблон

tt := false; // не создавть шаблон

wa.Documents.Add(t, tt, EmptyParam, EmptyParam); // добавляем документ

// подключаем к объекту WordDocument созданный документ

wd.ConnectKind := ckAttachToInterface; wd.ConnectTo(wa.ActiveDocument);

t := wd.Range; // переменная – параметр, шаблон для нового абзаца

// добавляем в документ 3 абзаца:

wd.Paragraphs.Add(t); wd.Paragraphs.Add(t); wd.Paragraphs.Add(t); // абзац #3

wd.Paragraphs.Item(1).Range.InsertBefore('Привет, TSN !!!'); // вставляем текст в абзац #1

// вставляем текст в абзац #2

wd.Paragraphs.Item(2).Range.InsertBefore('Переключившись в программу, можно программно менять текст ячеек !');

wd.Paragraphs.Item(1).Range.Font.ColorIndex := 11; // цвет зеленый в абзаце #1

wd.Paragraphs.Item(2).Range.Font.ColorIndex := 5; // цвет розовый в абзаце #2

wd.Paragraphs.Item(3).Range.Font.Bold := 1; // шрифт – жирный
<< 1 ... 8 9 10 11 12 13 14 15 >>
На страницу:
12 из 15