Captură de ecran a formei a cărei dimensiuni sunt mai mari decât dimensiunile ecranului

Am un obiect TForm al cărui înălțime este mai mare decât rezoluția verticală necesară a ecranului meu.

Din anumite motive, Windows nu permite ca zona vizibilă (client?) A formularului să depășească rezoluția ecranului, astfel încât barele de derulare verticale să apară în formularul meu.

Cum aș obține o imagine TBitmap sau o captură de ecran a întregului formular (nu există bare de derulare, toate componentele de formular vizibile) astfel încât tot conținutul formularului să fie vizibil?

0
Da, GetFormImage este ceea ce folosim in prezent.
adăugat autor ardnew, sursa
De exemplu, creați un obiect TForm , plasați o mulțime de conținut vertical pentru a provoca apariția automată a barelor de derulare verticale (activate). Înălțimea totală a conținutului ar trebui să depășească rezoluția ecranului dvs. vertical. Sunați GetFormImage și veți vedea că conținutul mai mic este eliminat.
adăugat autor ardnew, sursa
Ați încercat GetFormImage metoda? ;
adăugat autor RRUZ, sursa

1 răspunsuri

La început, trebuie să vă asigurați că forma nu are bare de derulare. Pentru aceasta, puteți scrie un handler de evenimente pentru FormConstrainedResize și ajustați MaxWidth și MaxHeight la nevoile dvs. Dacă dimensiunea formularului este restricționată în timpul proiectării, setați Lățimea și Înălțimea necesare în evenimentul FormCreate la valorile dorite.

Acum puteți folosi GetFormImage pentru a obține captura de ecran.

0
adăugat