dimensioner les objets dans 1 usf en fct de la taille+pb affichage

S

sébastien

Guest
Bonjour à tous


Comme peut être certain d'entres vous auront pu le lire dans un autre post, je dois réalisé une "application" sous excel, pour cela j utilise les userform.

Il faut que l utilisateur n ait pas acces au feuilles de calcul, donc j ai deja le code pour positionner le usf en plein ecran,sans la barre de titre. le problème c est ma présentation ne ressemble pas à grand chose car les objets ne sont pas replaces en fonction de la taille de l usf...

Voici mes 2 questions :

-Comment faire pour que les objets conservent leurs places et taille malgré l ajustement du usf en, plein ecran?

-Comme c est une "appli" avec des menus et tout ...j aurai souhaite utilise 1 seul usf et vu que la partie superieure ne bouge pas (titre + menu ) par contre le reste (list box+combo, bouton etc....) oui.
Ca devient vite tres dur via le VBA car il faut tout superposer, n y a t il pas une solution pour ne pas afficher certains elements dans VBA
 
W

Wilfried

Guest
Salut sébastien,

Actuellement je dévelloppe moi aussi une petit application..

Je suis tous d'abord intéresser par ta méthode pour mettre en pleine écran ton USF.

Pour ma part j'utilise le width et height pour cela et cela ne fonctionne plus si l'utilisateur n'as pas la même taille d'ecran que moi. Mais cela peu peut-être t'aider. Tu peu utiliser les position relative :
ex ton USF fait 600 de large, tes bouton font 108 de large tu en à 2 tu peu effectuer un recalcul des position en fonction...

de même pour les autre utilitaire

Pour les autre USF que tu utilise peut être , moi j'utilise les fonctions HIDE et SHOW pour les masqué et affiche en fonction sans pour autan perdre les paramétrage.

Voila tous ce que je vois avec mes maigres connaissances...

A+ Wiflried
 
P

Pascal76

Guest
Bonjour

tu trouveras sur le forum une démo de @+Thierry sur la possibilité de faire un zoom sur les UF (même avec les pourcentages à appliquer en fonction des écrans et résolution)

Fais une petite recherche en remontant bien loin dans le temps sur les UF et tu trouveras ton bonheur

Pascal
 
J

jvd667

Guest
Salut Sébastien, Wilfried, Pascal76, le Forum,

Je suis fier de moi, car pour une fois, je donne une réponse hi hi hi ...

Voici un extrait d'un auteur dont j'ai oublié le nom (et oui, vous n'alliez pas penser que c'était de moi quand même ???). Ce code permet d'avoir un USF en plein écran.

Private Declare Function FindWindowA Lib "User32" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLongA Lib "User32" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLongA Lib "User32" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

Private Sub CommandButton1_Click()
Unload Me
End Sub

Private Sub UserForm_Initialize()
Dim hWnd As Long, exLong As Long, zFactor As Integer

hWnd = FindWindowA(vbNullString, Me.Caption)
exLong = GetWindowLongA(hWnd, -16)
If exLong And &H880000 Then SetWindowLongA hWnd, -16, exLong And &HFF77FFFF
zFactor = 100 * CInt(Application.Width / Me.Width)
Me.Width = Application.Width
Me.Height = Application.Height

End Sub

Cordialement,

JVD667

PS : Bonnes Fêtes de fin d'année, et vive 2005
 

Discussions similaires

Statistiques des forums

Discussions
312 502
Messages
2 089 033
Membres
104 010
dernier inscrit
Freba