Tworzenie okna dialogu > Control - polecenie | | Drukuj |
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 |
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”. |
|
ctrl |
Nazwa zmiennej utworzonej w celu przechowywania obiektu kontrolki. |
|
x0 |
Odległość lewej krawędzi pola kontrolki od lewej krawędzi okna dialogowego, liczona w pikselach. |
|
y0 |
Odległość górnej krawędzi pola kontrolki od górnej krawędzi okna dialogowego, liczona w pikselach. |
|
dx |
Szerokość pola kontrolki, liczona w pikselach. |
|
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