602SQL-┌plnß dokumentace Index   Tisk  

Manipulace s otev°en²m formulß°em

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.