Taille d'une TForm plus grande que la largeur de l'écran
speedman31
Messages postés7Date d'inscriptionjeudi 23 novembre 2000StatutMembreDernière intervention24 avril 2009
-
22 avril 2009 à 23:09
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 2014
-
26 avril 2009 à 14:04
Bonjour,
J'ai une question toute simple : pour faire un test de capture Bitmap, j'aurai besoin de dimensionner une fenêtre plus grande que la taille de l'écran (> 1280), hors, l'éditeur (et même le positionnement dynamique pour la propriété Width) me lock la taille max de la fenêtre à celle de l'écran.
Est il possible de faire une fenêtre de largeur plus grande que celle de la résolution courante de l'écran ?
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 22 avril 2009 à 23:25
Ah effectivement je n'avais jamais remarqué ça. Et je crains que cela soit même une limitation de Windows (pas sûr mais je pense).
Pour contourner le problème tu pourrais utiliser une TScrollBox d'une taille inférieure à la taille de l'écran, et mettre le bitmap dedans ... Pas très ergonomique avec les barres de défilement mais pour l'instant je ne vois rien d'autre ...
speedman31
Messages postés7Date d'inscriptionjeudi 23 novembre 2000StatutMembreDernière intervention24 avril 2009 23 avril 2009 à 07:50
cela fait des années que j'utilise Delphi et je n'avais jamais remarqué cette limitation....
En Java par exemple, il est tout à fait possible de faire une fenêtre plus grande que le taille de l'écran...
Je vais essayer la ScrollBox mais j'ai peur que la partie "non visible" du BITMAP dans la scroll ne soit pas "capturable"....
speedman31
Messages postés7Date d'inscriptionjeudi 23 novembre 2000StatutMembreDernière intervention24 avril 2009 24 avril 2009 à 22:19
Bien tenté, mais cela ne fonctionne pas : la fenêtre est toujours limité à la taille de l'écran, soit 1280 pour moi. Pas moyen de faire une fenêtre plus grande.
JulioDelphi
Messages postés2226Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention18 novembre 201014 25 avril 2009 à 16:12
Cela viendrait-il de l'OS ? Exemple sous windows seven, les fenêtres
ont un nouveau comportement qui les empêche de déborder de l'écran même
pendant leur déplacement.
Quel OS utilises tu foxy ? et toi speedman ?
ps : je suis sous vista ultimate et je ne peux faire SetBounds(1,1,3000,2500) ma fenêtre ne dépasse pas la largeur de mon écran.
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 25 avril 2009 à 16:26
Moi (Windows XP SP 3) si je fais ça, la fenêtre se place un peu n'importe-où vers le coin haut-gauche et perd ses bordures (ressemble à un panel flottant).
procedure TForm1.Refresh(var msg: TMessage);
var
lpMinMaxInfo: PMinMaxInfo;
begin
lpMinMaxInfo:= PMinMaxInfo(msg.LParam);
with lpMinMaxInfo.ptMaxTrackSize do
begin
X:= 30000;
Y:= 30000;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.Height:= 2000;
Form1.Width:= 2000;
end;