MDI : problemes

Résolu
MickParadiseLost Messages postés 86 Date d'inscription samedi 26 février 2005 Statut Membre Dernière intervention 2 avril 2008 - 15 mai 2005 à 16:08
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 19 mai 2005 à 16:34
Bonjour,

j'ai créé un formulaire principal et ai mi sa propriété MDI a true.

Form2 est le formulaire qui s'ouvre dans le formulaire principal.



Form2 est un formulaire montrant des images. quand l'image est plus
grande que le formulaire principal, le formulaire principal affiche des
scrollbars.(pourtant j'ai mis Autoscroll a false).

Comment faire?



Autre probleme, je voudrais que Form2 ne s'affiche jamais plus grand que le formulaire principal.

Lorsque l'image est plus grande que le formulaire principal, j'aimerais qu'elle se redimentionne.



Merci pour vos réponses d'avance.

37 réponses

MickParadiseLost Messages postés 86 Date d'inscription samedi 26 février 2005 Statut Membre Dernière intervention 2 avril 2008
18 mai 2005 à 16:38
youyou? on m'aide pu ?
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
18 mai 2005 à 16:47
oops... en fait...
normalement, avec les extraits de codes que je t'ai fourni, ca devrait faire ca
- Redimensionnement automatique de l'image par rapport à la fenêtre fille (et pas l'inverse)
- La fenêtre fille apparait à la taille de la zone cliente de la fenêtre mère.

Malheureusement, je ne trouve pas comment ne pas afficher les scrollbars du MDI... Pis j'ai pas le temps de regarder du coté des APIs.

Sébastien FERRAND

Blog : http://blogs.developpeur.org/sebmafate
</FO< body>
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
18 mai 2005 à 16:57
Pour les API : ShowScrollBar.

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
MickParadiseLost Messages postés 86 Date d'inscription samedi 26 février 2005 Statut Membre Dernière intervention 2 avril 2008
18 mai 2005 à 17:41
Est ce que ça va marcher le showscrollbar ?

Si oui j'écrit quoi comme code et ou?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
18 mai 2005 à 17:53
Je ne sais pas si ça va marcher, mais j'ai vu qu'on demandais comment masquer les scrollbars avec les API. ^^

[DllImport("user32.dll")]
private static extern bool ShowScrollBar(
IntPtr hWnd,
int wBar,
bool bShow
);

private const int SB_BOTH = 3;

Appel :
ShowScrollBar(monFormEnfant.Handle, SB_BOTH, false);

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
MickParadiseLost Messages postés 86 Date d'inscription samedi 26 février 2005 Statut Membre Dernière intervention 2 avril 2008
18 mai 2005 à 18:06
//blasphemy

using System;

using System.Drawing;

using System.Collections;

using System.ComponentModel;

using System.Windows.Forms;

using System.Data;



namespace Programme_principal

{

/// <summary>

/// Description résumée de Form1.

/// </summary>

public class Blasphemy : System.Windows.Forms.Form

{

[DllImport("user32.dll")]

private static extern bool ShowScrollBar(

IntPtr hWnd,

int wBar,

bool bShow

);



private const int SB_BOTH = 3;



private System.Windows.Forms.MainMenu mainMenu1;

private System.Windows.Forms.MenuItem Edition;

private System.Windows.Forms.MenuItem Image;



-------------------------------------------------------------------------------------

Il me marque l'erreur suivante:

C:\Documents and Settings\Eternal Suffering\Bureau\Blasphemy
C#1\Programme principal\Blasphemy.cs(16): Le type ou le nom d'espace de
noms 'DllImport' est introuvable (une directive using ou une référence
d'assembly est-elle manquante ?)

------------------------------------------------------------------------------------------------------

Pourquoi.?
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
18 mai 2005 à 18:09
Une recherche dans la doc t'aurais amerner sur la page de DllImportAttribute qui donne l'assembly (Mscorlib.dll, ça c'est bon) et aussi le namespace System.Runtime.InteropServices
=> using System.Runtime.InteropServices;

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
MickParadiseLost Messages postés 86 Date d'inscription samedi 26 février 2005 Statut Membre Dernière intervention 2 avril 2008
18 mai 2005 à 18:38
private void InitializeComponent()

{

ShowScrollBar(this.Handle, SB_BOTH, false);

----------------------------

Il me surligne cette ligne en jaune le bougre.

et le message d'erreur apparait:

Une exception non gérée du type 'System.EntryPointNotFoundException' s'est produite dans Programme principal.exe

Informations supplémentaires : Impossible de trouver le point d'entrée ShowScrollBar dans la DLL Mscorlib.dll.



PS:

moi je trouve rien dans la doc.

Et tu disais de mettre avant le .Handle, le nom de mon formulaire fille
mais c'est au formulaire principal que je veux supprimer les scrallbars.

Je fais quoi alors pour l'erreur. Jcomprend pu rien
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
18 mai 2005 à 18:47
Oui là c'est un peu normal : je n'ai pas dit de modifier le DllImport, il doit rester tel qu'il est : [DllImport("user32.dll")]
Je parlais de mscorlib qui est l'assembly dans lequel se trouve l'attribut DllImportAttribute, en rapport avec ton message sur l'erreur précédente. C'était juste une indication suplémentaire.

Pour le handle : j'avais compris de travers.

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
MickParadiseLost Messages postés 86 Date d'inscription samedi 26 février 2005 Statut Membre Dernière intervention 2 avril 2008
18 mai 2005 à 19:02
Le code est correct mais les scrollbars s'affichent toujours.
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
18 mai 2005 à 19:33
EnableScrollBar est elle aussi sans effet sur du MDI...je commence a me demander si c'est faisable.

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
MickParadiseLost Messages postés 86 Date d'inscription samedi 26 février 2005 Statut Membre Dernière intervention 2 avril 2008
18 mai 2005 à 19:52
Oui c'est sur que c'est faisable puisque microsoft word, excel, adobe photoshop ... le font.

Merci quand meme.
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
18 mai 2005 à 21:54
Pas d'autre idée là.
Si tu trouves donne nous la solution :-)

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
MickParadiseLost Messages postés 86 Date d'inscription samedi 26 février 2005 Statut Membre Dernière intervention 2 avril 2008
19 mai 2005 à 13:55
ok pas dproblemes.
0
MickParadiseLost Messages postés 86 Date d'inscription samedi 26 février 2005 Statut Membre Dernière intervention 2 avril 2008
19 mai 2005 à 15:52
Voila, après une semaine à reflechir au probleme, j'ai enfin trouvé comment faire pour que ça marche.

Il m'a suffit d'installer un composant tout bête lol.

Merci de m'avoir consacré de votre temps.

++
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
19 mai 2005 à 15:57
Ca serait pas mal de dire lequel, histoire que quelqu'un ayant le même problème que toi un jour ne reste pas sur sa faim lol

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
19 mai 2005 à 16:34
La satisfaction d'avoir trouver

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
Rejoignez-nous