[.NET2] REDÉFINIR L'ESPACE DE TRAVAIL DE L'ÉCRAN

cs_badrbadr Messages postés 475 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 3 novembre 2008 - 17 déc. 2006 à 18:55
eric7950 Messages postés 4 Date d'inscription lundi 14 août 2006 Statut Membre Dernière intervention 4 août 2012 - 4 août 2012 à 18:08
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/40760-net2-redefinir-l-espace-de-travail-de-l-ecran

eric7950 Messages postés 4 Date d'inscription lundi 14 août 2006 Statut Membre Dernière intervention 4 août 2012
4 août 2012 à 18:08
bien sûr, j'ai changé

If iNewWA = 1 Then
Label1.Text = String.Format("Espace de travail d'origine: {0} {1} Espace de travail actuel (redimensionné): {2}", _
rectWA.ToString, vbCrLf, SelectScreen.WorkingArea.ToString)
End If

mais il écrit "Ma barre perso"
eric7950 Messages postés 4 Date d'inscription lundi 14 août 2006 Statut Membre Dernière intervention 4 août 2012
4 août 2012 à 17:55
Bonjour,
très pratique pour se créer un formulaire type sidebar, mais comment le faire pour le second écran ?
avec les quelques modifications suivantes, j'arrive bien à l'afficher sur le 2ème écran, mais il ne réduit pas la surface, ni affiche les dimensions, alors que si c'est l'écran principal, tout marche
qu'est-ce que j'ai pû rater ?
Merci

Dim SelectScreen As ScreenSelectScreen Screen.AllScreens(1) '0 1er écran, 1 = 2ème écran
Me.Width = SelectScreen.WorkingArea.Width
Me.Left = SelectScreen.WorkingArea.Left
Me.Top = SelectScreen.WorkingArea.Height - Me.Height

rectWA = SelectScreen.WorkingArea

Dim r As RECT = New RECT(rectWA.Left, rectWA.Top, rectWA.Width, rectWA.Height - Me.Height) 'rectWA.width au lieu de rectWA.Right
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
27 déc. 2006 à 17:21
FremyCompany > effectivement ça marche chez moi, bonne idée c'est sur.
En y reflechissant bien, ça devait etre sous win 98 que ça posait problème surement...
FREMYCOMPANY Messages postés 276 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 22 décembre 2008
27 déc. 2006 à 13:09
Il y a un moyen simple de tester si mon truc marche...
Dans la barre de lancement rapide, tu as l'icone "bureau", qui renvoie toutes les fenêtres dans la barre de taches et qui exploite la même fonction du shell que moi... Moi il me semblait que ca devait marcher, mais j'ai jamais vraiment testé...
cs_eldim Messages postés 956 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 21 août 2014 1
22 déc. 2006 à 15:03
petite question : un programme comme ça faut pas qu'il se fasse tué violemment sinon ça fou la merde, comment on peut faire pour embêcher le kill ?
cs_eldim Messages postés 956 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 21 août 2014 1
22 déc. 2006 à 14:55
finalement y a un mini truc a redire...
il manque la prise en compte de l'épaisseur des formulaire windows dans le dimensionnement de l'area...
cs_eldim Messages postés 956 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 21 août 2014 1
21 déc. 2006 à 15:30
Salut tout le monde !

trop bon ! ça marche très bien ! et c'est très pratique !

bravo

ps : à force on va finir par enregistrer des commentaires personnalisés par pseudo qu'on ressortira à chaque nouveau code du même auteur (car en ce qui concerne Willi on peut pratiquement toujours dire la même chose...)
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
18 déc. 2006 à 12:58
Ah quelque part ça me rassure lol...

Pour regler ce problème j'avais essayé des milliards de trucs, en essayant plein de combines, minimiser, remaximiser, rafraichir etc...
Mais aucune ne s'était avérée efficace à 100%. J'essayerai bien le true de FremyCompany voir si ça marche, en tout cas je sais que quand j'avais fait mes tests, meme en minimisant à la main les fenetres, puis en les remaximisant à la main, ça ne résolvait meme pas le problème.

J'avais alors utilisé une autre façon avec Shappbar (un nom comme ça je crois), mais c'est spécifiquement orienté "barre d'outil", c'est à dire que ça colle notre fenetre sur un bord de l'écran. En tout cas cette méthode rafraichissait bien les fenetres.
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
18 déc. 2006 à 09:59
Cette problématique était à la mode ces derniers temps sur le forum. Ca va faire des heureux ...
FREMYCOMPANY Messages postés 276 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 22 décembre 2008
18 déc. 2006 à 09:26
Avec les API, y a un moyen (détourné) !
Vous ajoutez dans le projet la bibliothèque window Shell.dll (x:/Windows/System32)

Ensuite, vous lancer la fonction suivante :
<<
Dim Shell As New Shell32.ShellClass()
Shell.MinimizeAll()
>>

Cette fonction renvoie toutes les fenêtres dans la barre des taches.
Une fois cela fait, l'utilsateur va "réouvrir" les fenêtres, qui prendront la bonne taille !
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
18 déc. 2006 à 00:23
Salut Mad, le fait d'être en .net ne change rien, les fenetres ouvertes est le mêmes qu'en vb6.
Peut-être qu'un simple UpdateWindow ou encore un AdjustWindowRect sur l'ensemble des fenetres corrigera le tir, je n'ai pas essayé.
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
17 déc. 2006 à 23:59
Salut Willi, j'ai pas .net alors je peux pas tester, mais je sais qu'en utilisant ces api sous VB6, le résultat est assez chaotique : quand on redéfini l'espace de travail, les fenetres ouvertes ne prennent pas en compte le changement et reste maximisées sans changer.
Je voulais savoir si en .net ça rendais la meme chose, ou si les fenetres s'ajustent automatiquement ?
cs_badrbadr Messages postés 475 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 3 novembre 2008 1
17 déc. 2006 à 18:55
bravo > direct dans les favoris :)