Interakcja z interfejsem użytkownika

Funkcje API

function InitMessageQueue:Boolean;stdcall;

Inicjuje kolejkę do wymiany wiadomości.

Parametry

Brak

Zwracane wartości

Zwraca True jeśli udało się utworzyć kolejkę wiadomości.

Uwagi

Brak


function GetMessage(PMessage:PCONTROLMSG):Boolean;stdcall;

Odczytuje i usuwa wiadomość z kolejki wiadomości, która została tam wysłana przez aplikację podstawową. Mogą to być wadomości o różnych zdarzeniach w aplikacji podstawowej np.kliknięcie myszą, naciśnięcie klawisza. Pełna lista wiadomości jest dostępna w załączniku.

Parametry

Zwracane wartości

Zwraca True jeśli jest jakaś wiadomość w kolejce i została ona odczytana. Jeśli kolejka jest pusta funkcja zawsze zwróci False.

Uwagi

Aby odczytać wiadmości w aplikacji API najlepiej zastosować niekończącą się pętlę, jak w przykładzie poniżej.

Przykład

if InitMessageQueue then begin
  repeat
    if GetMessage(Msg) then begin
       . . .
    end;
  until False
  DestroyMessageQueue;
end;


function SendMessage(PMessage:PCONTROLMSG):Boolean;stdcall;

Wysyła wiadomość do aplikacji podstawowej. Lista wiadomości do wysłania jest dostępna w załączniku.

Parametry

Zwracane wartości

Zwraca True jeśli wiadomość została wysłana.

Uwagi

Funkcji tej nie zaleca się używać wprost. Jest ona używana wewnętrznie przez inne funkcje API takie jak ShowForm, CloseForm, GetControlAs... i inne, które są bardziej przyjazne dla programisty.


procedure DestroyMessageQueue;stdcall;

Usuwa kolejkę do wymiany wiadomości.

Parametry

Brak

Zwracane wartości

Brak

Uwagi

Przed zakończeniem aplikacji API należy usunąć kolejkę wiadomości, w przeciwnym wypadku aplikacja podstawowa będzie nadal niepotrzebnie wysyłać wiadmości do API, które będą kolejkowane.


procedure ShowForm(Name,Caption:PChar; Left,Top,Width,Height:integer);stdcall;

Tworzy w aplikacji podstawowej nowe okno i je pokazuje. Jeśli okno zostało już wcześniej utworzone, tylko pokazuje na ekranie.

Parametry

Zwracane wartości

Brak

Uwagi

Nazwy nowych okien powinny być unikalne. Żeby nie kolidowały z oknami istniejącymi najlepiej je poprzedzić jakimś przedrostkiem np. "user_window_".


procedure CloseForm(Name:PChar);stdcall;

Zamyka w aplikacji podstawowej okno. Nie usuwa okna z pamięci, tak że można je powtórnie otworzyć funkcją ShowForm

Parametry

Zwracane wartości

Brak

Uwagi

Brak


procedure GetControlAsString(Form,Name,Value:PChar);stdcall;

Odczytuje z kontrolki jej wartość tekstową (np. z okienka edycyjnego jego tekst)

Parametry

Zwracane wartości

Brak

Uwagi

Poniższe procedury do odczytu wartości kontrolek służą do przekazywania aplikacji API wartości, które edytuje użytkownik w aplikacji podstawowej. Wartość tekstową można odczytać z kontrolek następujących typów: okno edycyjne (edit), okno z rozwijalną listą (combobox), okno do edycji plików (filenameedit).


function GetControlAsInt(Form,Name:PChar):integer;stdcall;

Odczytuje z kontrolki jej wartość liczbową (np. z okienka edycyjnego liczbowego)

Parametry

Zwracane wartości

Zwraca wartość liczbową kontrolki.

Uwagi

Wartość liczbową można odczytać z kontrolek następujących typów: okno edycyjne (edit), okno edycyjne dla liczb (spinedit), okno edycyjne daty (dateedit).


function GetControlAsBool(Form,Name:PChar):Boolean;stdcall;

Odczytuje z kontrolki jej wartość logiczną (np. z okienka zaznaczenia (checkbox))

Parametry

Zwracane wartości

Zwraca wartość logiczną kontrolki (True lub False).

Uwagi

Wartość logiczną można odczytać z kontrolek następujących typów: okno zaznaczenia (checkbox).


function GetControlAsFloat(Form,Name:PChar):Double;stdcall;

Odczytuje z kontrolki jej wartość zmiennoprzecinkową (np. z okienka edycyjnego daty)

Parametry

Zwracane wartości

Zwraca wartość zmiennoprzecinkową kontrolki.

Uwagi

Wartość zmiennoprzecinkową można odczytać z kontrolek następujących typów: okno edycyjne (edit), okno edycyjne daty (dateedit), okno edycyjne dla liczb (spinedit).


procedure SetControlAsString(Form,Name,Value:PChar);stdcall;

Zapisuje wartość tekstową do kontrolki (np. do okienka edycyjnego)

Parametry

Zwracane wartości

Brak

Uwagi

Poniższe procedury do zapisu wartości kontrolek służą do przekazywania aplikacji podstawowej, wartości wygenerowanych lub obliczonych w aplikacji API. Wartość tekstową można zapisać do kontrolek następujących typów: okno edycyjne (edit), okno z rozwijalną listą (combobox), okno do edycji plików (filenameedit).


procedure SetControlAsInt(Form,Name:PChar; Value:integer);stdcall;

Zapisuje do kontrolki wartość liczbową (np. do okienka edycyjnego liczbowego)

Parametry

Zwracane wartości

Brak

Uwagi

Wartość liczbową można zapisać do kontrolek następujących typów: okno edycyjne (edit), okno edycyjne dla liczb (spinedit), okno edycyjne daty (dateedit).


procedure SetControlAsBool(Form,Name:PChar; Value:Boolean);stdcall;

Zapisuje do kontrolki wartość logiczną (np. do okienka zaznaczenia)

Parametry

Zwracane wartości

Brak

Uwagi

Wartość logiczną można zapisać do kontrolek następujących typów: okno zaznaczenia (checkbox).


procedure SetControlAsFloat(Form,Name:PChar; Value:Double);stdcall;

Zapisuje do kontrolki wartość zmiennoprzecinkową (np. do okienka edycyjnego daty)

Parametry

Zwracane wartości

Brak

Uwagi

Wartość zmiennoprzecinkową można zapisać do kontrolek następujących typów: okno edycyjne (edit), okno edycyjne daty (dateedit), okno edycyjne dla liczb (spinedit).