|
![]() | Otev°enφ formulß°e na obrazovce | ![]() | Ovlßdßnφ formulß°∙ | Zp∙sob Φφslovßnφ zßznam∙ ve formulß°φch | ![]() |
Polohu formulß°e na obrazovce a jeho rozm∞ry definujφ vlastnosti X
, Y
, Width
a Height
. Nadpis okna je ve vlastnosti Caption
. Handle okna vracφ metoda Handle
.
P°φklad:
Pokud mßte deklarovan² formulß°ov² objekt evid_list_form, pak pomocφ p°φkaz∙:
evid_list_form.Caption := "EvidenΦnφ list";
evid_list_form.Height := 2 * evid_list_form.Height;
mu p°i°adφte nadpis ôEvidenΦnφ listö a zdvojnßsobφte jeho v²Üku proti nßvrhu. Tyto operace lze provΘst p°ed otev°enφm formulß°e na obrazovce nebo po n∞m.
Zav°enφ
Formulß° se zavφrß akcφ Zav°φt formulß° nebo funkcφ Close_view
(p°φp. View_close
)
nebo metodou formulß°e Close
. VÜechny otev°enΘ formulß°e lze souΦasn∞ zav°φt funkcφ Close_all_views
.
Pomocφ funkce nebo metody Pick_window
lze aktivovat a vysunout do pop°edφ vybran² formulß°. Funkce Active_view
vracφ handle toho formulß°e, kter² je prßv∞ aktivnφ.
Dva formulß°e lze uvΘst do synchronizovanΘho stavu (ukazujφ tent²₧ zßznam) pomocφ funkce Register_rec_syn
.
Zdroj dat
╚φslo kurzoru, kter² je zdrojem dat, a nastavenφ p°φznak∙ v otev°enΘm formulß°i zjiÜ¥uje funkce Get_fcursor
a nastavuje funkce Set_fcursor
. ╚φslo kurzoru lze takΘ Φφst a m∞nit pomocφ metody Cursnum
.
Metoda Help
vyvolß nßpov∞du definovanou pro formulß° nebo jeho vybranou slo₧ku.
Dotazy
Pro otev°enφ formulß°e na kladenφ QBE dotazu resp. uspo°ßdßnφ slou₧φ metody OpenQBE
resp. OpenSort
. Zadan² dotaz lze potvrdit volßnφm metody AcceptQuery
. Je-li obsah formulß°e ovlivn∞n polo₧en²m dotazem, zde dotaz odstranit metodou CancelQuery
. Funkce nebo metoda QBE_state
zjistφ, zda formulß° prßv∞ slou₧φ ke kladenφ QBE dotazu nebo zadßnφ uspo°ßdßnφ. Vyu₧φvß se zejmΘna v podmφnkßch viditelnosti a aktivity.
P°φklad:
Program zjistφ Φφslo kurzoru (zdroje dat), Φφslo aktußlnφho zßznamu a otev°e nov² formulß° do tohoto zdroje dat a na tento zßznam:
if Get_fcursor(idc,cx,NIL) then
if Get_view_pos(idc,irec,erec) then
Open_view('*EDIT_CTEN',cx,MODAL_VIEW,-irec,0,id_ec)
Sledovßnφ, zda je formulß° otev°en
Funkce, kterΘ otevφrajφ formulß°, stejn∞ jako metoda Open, umo₧≥ujφ zadat adresu prom∞nnΘ, do nφ₧ se p°i otev°enφ formulß°e zapφÜe jeho handle a p°i uzav°enφ formulß°e nula. Dφky tomu program m∙₧e snadno rozpoznat okam₧ik, kdy je formulß° u₧ivatelem uzav°en.
P°φklad:
Do prom∞nnΘ id_vc je p°edßn handle formulß°e:
Open_view('*VybrCtenar',NO_REDIR,0,0,0,id_vc);
repeat Peek_message until id_vc=0;
Pokud je prom∞nnß id_vc
, kterß byla p°edßna tφmto zp∙sobem do formulß°e, lokßlnφ v podprogramu, pak podprogram nesmφ skonΦit d°φve, dokud formulß° nebude uzav°en. Jinak by p°i uzavφrßnφ formulß°e doÜlo k p°epsßnφ ji₧ neexistujφcφ prom∞nnΘ, co₧ m∙₧e p°ivodit vß₧nou chybu aplikace.
Zjistit, zde urΦit² formulß° je otev°en, lze takΘ pomocφ metody Is_open
nebo funkce View_state
. Vyu₧φvajφ se nap°φklad v podmφnkßch aktivity nebo zatr₧enφ p°φkaz∙ menu otevφrajφcφch formulß°.
OznaΦovßnφ zßznam∙
Ve standardnφm (sub)formulß°i s vlastnostφ Multiselect (a vlastnostφ Pouze pro oznaΦenφ zßznamu) je mo₧nΘ oznaΦovat zßznamy podobn∞ jako v Exploreru Windows (i nesouvislΘ oblasti). ╚φsla vybran²ch zßznam∙ lze zjistit (p°ed uzav°enφm) pomocφ funkce IsIntRecSelected
nebo metody IsIntRecSelected
.
![]() | Otev°enφ formulß°e na obrazovce | ![]() | Ovlßdßnφ formulß°∙ | Zp∙sob Φφslovßnφ zßznam∙ ve formulß°φch | ![]() |