Tworzenie okna dialogu > Control - polecenie

Drukuj

Control - polecenie symp

Polecenie umieszcza w oknie dialogowym kontrolkę OCX. Możliwe jest sterowanie działaniem kontroli oraz odczyt generowanych przez nią zdarzeń.

Polecenie jest zasadniczo przeznaczone do współpracy z kontrolkami Symfonia. Niektórych z istniejących w systemie kontrolek OCX nie da się umieścić w oknie dialogowym przy pomocy tego polecenia.

 

Składnia

Int Control String nOCX, Dispatch ctrl, Int x0, Int y0, Int dx, Int dy

 

Argumenty

Typ

Nazwa

Opis

String

nOCX

Nazwa kontrolki. Może to być nazwa predefiniowana w programie: "grid”, "edit" lub nazwa pod jaką kontrolka jest zarejestrowana w systemie np. "MXGRID.MXGridCtrl.1”.

Dispatch

ctrl

Nazwa zmiennej utworzonej w celu przechowywania obiektu kontrolki.

Int

x0

Odległość lewej krawędzi pola kontrolki od lewej krawędzi okna dialogowego, liczona w pikselach.

Int

y0

Odległość górnej krawędzi pola kontrolki od górnej krawędzi okna dialogowego, liczona w pikselach.

Int

dx

Szerokość pola kontrolki, liczona w pikselach.

Int

dy

Wysokość pola kontrolki, liczona w pikselach.

 

Wartość zwracana

Identyfikator kontrolki.

 

Przykład

//Utworzenie zmiennych
Dispatch grd
Int selRow, selCol
//Zdefiniowanie podprogramu OnCommand z ustaleniem parametrów grida
Int sub OnCommand(Int id, Int msg)
if id == 0 && msg == 0 then
grd.ColumnCount = 2
grd.RowCount = 10
grd.Columns(0).Name = "Numer"
grd.Columns(1).Name = "Wartość"
grd.Rows(0).Value(0) = "Numer 0"
grd.Rows(0).Value(1) = "Wartość 0"
grd.tabmode = 1
endif
endsub
//Zdefiniowanie podprogramu odbierającego wartości wskazanego wiersza i kolumny z dialogu
Int sub OnZamknij()
selRow = grd.curRow
selCol = grd.curCol
OnZamknij = 2
endsub
//Wyświetlenie dialogu
Form "Działanie polecenia Control", 300, 300
Text "Kontrolka Grid wyświetlona poleceniem Control", 20,10,250,30
Control "grid", grd, 40, 50, 220, 150
Text "Przed użyciem przycisku wybierz wiersz z listy", 20,210,250,30
Button "Zamknij",100, 240, 100, 25, OnZamknij()
ExecForm OnCommand
If selRow >= 0 Then
Print "W dialogu podświetlono wiersz: ", selRow, LF
Else
Print "W dialogu nie podświetlono żadnego wiersz", LF
EndIf