Search  
Friday, May 25, 2012 ..:: Forum ::.. Register  Login
 Forum Minimize
Pentru a putea posta mesaje trebuie să vă înregistraţi.
Notă: Mesajele cu conţinut jignitor sau ilegal (inclusiv cereri de soft piratat) nu sunt acceptate şi vor fi şterse imediat .

Pentru a primi raspunsuri rapide si corecte, scrieti in mesaj ce intentionati sa faceti, ce mesaj de eroare primiti, in ce context si in urma caror actiuni. De asemenea, mentionati versiunea de FoxPro in care lucrati!
Dacă nu specificați versiunea, se consideră VFP 9.0 SP2.

SearchForum Home
  Visual FoxPro  Form-uri si generatoare de form-uri  dimensionare fo...
 dimensionare form functie de rezolutia ecranului
 
 12/16/2010 10:34:48 AM
User is offlineioandan_chelemen2006
224 posts
4th


dimensionare form functie de rezolutia ecranului
 (N/A)
exista vreun cod care sa se puna pe initul unui form pentru dimensionarea formei in functie de rezolutia ecranului
 12/16/2010 12:23:27 PM
User is offlineGrigore Dolghin
3590 posts
www.class-software.eu
1st






Re: dimensionare form functie de rezolutia ecranului
 (N/A)
Pai... Sysmetric() iti intoarce rezolutia curenta a ecranului. Tu ai creat formul ala pentru 1024x768, sa zicem; rezolutia curenta este 1280x1024. Raportul pe inaltime este 1280/1024 = 1.25, iar pe latime este 1024/768 = 1.33, deci in init va trebui sa ai un cod de genul:

Local lnXFactor, lnYFactor
lnXFactor = Sysmetric(1) / 1024
ThisForm.Width  = ThisForm.Width * lnXFactor
lnYFactor = Sysmetric(2) / 768
ThisForm.Height = ThisForm.Height * lnYFactor
ThisForm.AutoCenter = .T. && altfel o sa-ti iasa din ecran sau o sa stea aproape de coltul din stanga sus
* Alternativa e sa pozitionezi tu fereastra unde consideri de cuviinta, fiindca acum stii care e rezolutia curenta si cat e de mare fereastra, deci poti face niste calcule.

Dar asta nu-ti rezolva problema; formul insusi trebuie proiectat pentru a fi redimensionabil. Daca folosesti VFP9 ai proprietatea Anchor a controalelor, care iti permite sa redimensionezi controalele atunci cand se redimensioneaza formul.
Nu toate formurile sunt pretabile pentru a fi redimensionate. De exemplu, daca formul tau de data entry are controalele puse cam asa:

Nume: ______________  Prenume _____________ CNP ____________ Data nastere ___________
Adresa: _________________________ Localitate _____________________ Judet _____________

o sa-ti fie foarte greu sa redimensionezi fereastra asta, fiindca daca o micsorezi o sa arate campurile alea ca naiba.

Un design scalabil este caracterizat prin linii si coloane, si daca ai campuri care au dimensiuni diferite, controalele asociate lor au aceeasi dimensiune. Altfel spus, nu conteaza ca data nasterii este sub numele de familie pe form - au aceeasi latime. Chestia asta iti permite sa redimensionezi fereastra aia in runtime marind/micsorand proportional fiecare control; ele raman aliniate si tot formul are un aspect ingrijit.

Ceva de genul asta:


Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
Capture.PNG 
 12/16/2010 1:24:48 PM
User is offlinemmarcel
90 posts


Re: dimensionare form functie de rezolutia ecranului
 (N/A)
O alta solutie ar fi sa redimensionezi rezolutia monitorului functie de programul tau (numai daca monitorul permite noua rezolutie) iar la iesirea din program sa revii la vechea rezolutie. Este bine sa atentionezi utilizatorul printr-un mesaj ca se va schimba rezolutia pe timpul rularii programului. Un exemplu de modificare a rezolutiei il gasest aici:
 http://www.atoutfox.org/articles.asp?ACTION=FCONSULTER&ID=0000000559
 12/16/2010 1:58:28 PM
User is offlineGrigore Dolghin
3590 posts
www.class-software.eu
1st






Re: dimensionare form functie de rezolutia ecranului
 (N/A)
Daca un program face vreodata chestia asta pe calculatorul meu, urmatoarea mea actiune va fi sa-l dezinstalez. E monitorul MEU si sunt ochii MEI si nu treaba niciunui programator de pe lumea asta sa decida EL cat de mari sunt fonturile la care ma uit EU.

Port dioptrii -7. Nu e treaba NIMANUI sa decida pentru mine cum vreau eu fonturile pe ecran, numai pentru ca el (programatorul) este INCAPABIL sa isi faca formul resizable.

Sper ca am fost destul de clar :) haha

Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 12/16/2010 2:30:12 PM
User is offlinemmarcel
90 posts


Re: dimensionare form functie de rezolutia ecranului
 (N/A)
Sunt de acord cu dvs. domnule Dolghin! Nu am facut altceva dacat sa prezint o solutie si nu sa o impun cuiva.
  Visual FoxPro  Form-uri si generatoare de form-uri  dimensionare fo...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement