Djzlouk
Messages postés70Date d'inscriptionjeudi 26 juillet 2007StatutMembreDernière intervention20 janvier 2011
-
11 août 2007 à 13:13
Djzlouk
Messages postés70Date d'inscriptionjeudi 26 juillet 2007StatutMembreDernière intervention20 janvier 2011
-
14 août 2007 à 09:19
Bonjour tout le monde.
J'ai besoin d'une astuce :)
Comme je sais qu'il y a beaucoup de gens astucieux ici ca devrais pas poser de probleme :p
Alors je vous explique, c'est tres simple : je veux parametrer le form.left.
Donc d'apres ce que je sais il faut mettre la valeur en twip. (Exemple 500 6000... pas de probleme ca marche bien)
Le souci c'est que j'ai à mettre 40000.
Apparement cette propriété accepte un max de 32000.
Alors pour résoudre mon probleme, 2 solutions :
- > Parametrer en pixel (Mais je trouve pas comment on fait (Apparement Scalemode marche pas))
- > Débloquer cette valeur de 32000
Es que quelqu'un sait comment faire l"un ou l'autre ?
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 11 août 2007 à 13:24
La propriété Left est de type single elle accepte une valeur comprise entre -3,402823E38 et -1,401298E-45 pour les nombres négatifs et entre
1,401298E-45 et 3,402823E38 pour les positifs
ceci dit 40000 même en twips est énorme, ça correspond (pour la plupart des écrans) à 2666 pixels. Ca fait un très grand écran. En plus c'est le bord gauche de la form que tu positionne ce qui donne un écran encore plus grand, je sais même pas si ça existe des écrans si grand
Djzlouk
Messages postés70Date d'inscriptionjeudi 26 juillet 2007StatutMembreDernière intervention20 janvier 2011 11 août 2007 à 20:53
Merci à vous 2 pour les réponses :)
@Racaud : J'essairais d'utiliser l'api apres. Par contre je comprend pas bien pourquoi chez toi ca marche 40000 et pas chez moi. Voila mon code :
FormStat(TheI, TheJ).Left = PosX(TheI) + 5000
Je fais des boucles 10 fois de suite pour faire apparaitre 10 form. Les 4 premiere form passe bien et s'affiche, la 5 eme bloque, je regarde la valeur c'est écrit : 36000.
Je sais pas trop à quoi c'est du peut etre la taille du 1er ecran. (Qui est effectivement plus petite que ca.
@Casy : Ou ca fait une taille un peu grande d'écran, pour c'est tout simplement parce que j'ai 2 ecran coté à coté :p Et je veux placer des fenetres sur les 2 ecrans.
Par ailleur ce que je trouve bizarre c'est qu'avec la fonction : GetWindowRect, cela me retourne un nombre de pixel.
Enfin, je vous tien au courant bientot :p
Si vous avez des infos complémentaires n'hésitez pas :p
Djzlouk
Messages postés70Date d'inscriptionjeudi 26 juillet 2007StatutMembreDernière intervention20 janvier 2011 14 août 2007 à 09:19
Bonjour tout le monde !
Bon, et bien j'arrive à tout passer en pixel, je n'ai donc plus aucun probleme pour afficher une fenetre sur mon 2eme écran.
@Mortalino : La fonction GetWindowRect retourne le type RECT non ?
Public Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Donc cela nous donne bien une position et non pas les dimensions de la fenetre.
Alors oui, d'apres ca on peut calculer la taille de la fenetre. Mais attention : Si on a 2 ecrans cela doit poser des problemes. à moins qu'on calcul en valeur absolue ca doit p'etre marcher.