Autres toutes version excel tester le calendar en mode modal et non modal sur range ou control dans userform

patricktoulon

XLDnaute Barbatruc
Bonjour a tous
j'ai pris le temps ce matin de voir un peu ce que je pourrais faire pour mon calendar
en effet il m'est souvent venu des demandes quand au fait que quand l'object appelant et fils d'un userform non modal
et effectivement mon calendar qui est en mode responsif(MODAL)(se comporte comme un msgbox) n'est pas compatible forcement
le conflit d'affichage d'un usf modal par dessus un usf non modal est déclenché
j'ai donc ici recommencé tout a zero (c'est une ébauche)mais il est parfaitement fonctionnel
dites moi ce que vous en pensez
on verra après pour les couleurs et les fériés les langue et region et tout le tointoin
merci pour les retours et suggestion a venir
 

Pièces jointes

  • calendar light.xlsm
    34.4 KB · Affichages: 42
Dernière édition:

patricktoulon

XLDnaute Barbatruc
re
Bonjour @Dudu2
chez moi je trouve ça au contraire tres normal et logique
l'userform est bien positionné par rapport aux bordure d'origine
c'est pour cela que ca mange a gauche et en top et ta tombe bien avec les dimensions d'origine
chez toi tu les a aussi les bordures large sauf que le themes aéro de W10 les met complètement transparent
et chez moi le style c'est le meme
1636698578791.png


comme je te l'ai dis c'est une chose que j'avais déjà trouvé avec un membre de DVP "PIJAKU" si je me souviens bien et on avait utilisé l'api d'aéro dwmapi .dll mais je ne retrouve plus cette discussion
si je te le dis c'est que je suis sur de moi on avait fait pas mal de recherche la dessus

d'ailleurs pour t'en convaincre définitivement voici une demo je me met en theme basic de windows 7 et regarde
mon userform est identique à l'original dans VBE j’enlève dans le code le +(me.width-me.insidewidth)qui me sert à décaler
et voilà
résultat en theme basic( sans aéro)
demo.gif




c'est cette dll qui Gere toutes les fenêtre affiché sur le bureau
elle est constamment en fonctionnement
voir dans les taches l'exe DWM.exe qui utilise cette dll

si après ça tu n'est toujours pas convaincu je sais plus moi 😅;)
1636698866990.png
 

patricktoulon

XLDnaute Barbatruc
alors ca a changé dans les premiere version de W10 il y était le theme aéro sauf qu'il a l'aspect que tu a dans tes fenêtres ( il n'y a plus de transparence et de bordures étendues

si tu a le temps et l'envie fait des recherches comme moi sur les api de la dwmapi.dll
DwmEnableComposition
DwmIsCompositionEnabled
DwmSetWindowAttribute
DwmGetWindowAttribute
DwmEnableBlurBehindWindow
etc....
je sais que c'est là dedans qu'il faut pécher la bonne api mais comme je retrouve pas la discussion sur dvp et que je ne m'en souvient plus


sinon j'ai dans mes vieux truc avec api user32 le moyen de remettre les captions des userform facon XP ' en gardant le theme actif , ce qui fait qu'il n'y a plus de marge a faire
j'essaierais de le retrouver aujourd'hui
 

Dudu2

XLDnaute Barbatruc
Nan... laisse tomber on va pas se prendre la tête pendant des jours avec ça.

Je viens de faire un test avec mon laptop 8.1 et j'ai le même comportement que toi, les bordures sont ajoutées à l'affichage et c'est la zone hors bordure gauche et basse du UserForm qui répond au .Left et .Top.

Je vais arbitrairement faire la correction de positionnement en me basant sur la version du système.
Windows 10 -> décaler à gauche des bordures supprimées
Autre -> décaler à droite et en haut des bordures ajoutées.
 

patricktoulon

XLDnaute Barbatruc
re
oui ca modifie un peu la caption on vois bien ton bouton qui est plus coller au bord droite
et il reprends la couleur rouge que vous avez plus
chez moi ca donne ça a gauche mon userform trafiqué a droite un userform normal
demo.gif


bon ben ya plus qu'une solution tu met un bouton pour fermer dans le userform et tu enlève la caption
là tu es sur de pas te tromper y a pas d'ajustement à faire
VB:
 ExecuteExcel4Macro ("CALL(""user32"",""SetWindowLongA"",""JJJJJ""," & hwnd & ", " & -16 & ", " & &H94080080 & ")")      'api SetWindowLongA
demo.gif


aux grand maux les grand remèdes la caption et le cadre nous ennuient ben on les enleve ;)😅😂🤣
 

Dudu2

XLDnaute Barbatruc
J'ai effacé à tort mon message 🤢
L'idée était de tester ce fichier pour que tu détermines le coefficient K qui, chez toi, donne un positionnement correct des 3 UserForms. Sur mon Windows 8.1, il faut que le passe K = 1.6 pour obtenir ce positionnement correct, ce qui ne me semble pas très normal.
1636748471342.png
 

Pièces jointes

  • Classeur11.xlsm
    27 KB · Affichages: 2

Dudu2

XLDnaute Barbatruc
Est-ce que tu peux refaire avec Excel en Full Screen Zoom 100 % STP ? Pour voir comment ça cadre à gauche sur le 0.
ça a l'air bon la tout du moins chez moi
Oui c'est bon juste sur ce cas Usf par rapport à Usf, et j'ai du modifier les tailles de bordures par un coefficient 1.6. Mais Usf par rapport à TextBox (par exemple) le coefficient des bordures doit être 1. C'est un truc de ouf.
Faut que je teste cas par cas sur les 2 environnements. 1 mois de prise de tête en perspective.
 

Statistiques des forums

Discussions
314 633
Messages
2 111 416
Membres
111 126
dernier inscrit
vitam