IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ext JS / Sencha Discussion :

Forcer le redimensionnement d'une fenêtre après l'exécution


Sujet :

Ext JS / Sencha

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Forcer le redimensionnement d'une fenêtre après l'exécution
    Bonjour,



    Je débute avec Ext JS et je recherche une solution au problème suivant dont je ne trouve pas de solution.


    Je possède un serveur NAS sur lequel j'ai créé une application, lorsque je clic sur le lien de celle-ci, elle ouvre une fenêtre mais avec une largeur et une hauteur par défaut.

    Ces dimensions je ne peux pas les modifier dans le serveur NAS.


    Je souhaite simplement ajouter à mon application quelques lignes de code pour forcer le redimensionnement de mon application après son lancement par exemple:

    width = 500px
    height = 1000px
    minimise = false
    etc ...


    Genre comme ceci:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Ext.onReady (function () {
     
    var w = MaFenêtreActive ({
    height: 50,
    width: 100,
    closable: false,
    draggable: false,
    resizable: false,
     });
    });
    Est-ce possible ?

    Merci.

  2. #2
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Peut-être qu'avec cet exemple, il y aura quelqu'un pour m'aider, merci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
     
    <script type="text/javascript">
     
    Ext.onReady(function() {
    var win_1 = new Ext.Window({
    id : "my_window_1",
    shadow : true,
    width : 150,
    height : 200,
    title : "Title_of_window_1",
    })
    win_1.show();
     
    });
     
    function change_window_1() {
     
    var win_2 = new Ext.Window({
    applyTo : "my_window_1",
    shadow : false,
    width : 200,
    height : 250,
    title : "New_title_of_window_1",
    })
    win_2.show();
     
     
    }
     
    </script>
     
     
    <input type="button" name="change_window_1" value="Change title window 1" onclick="change_window_1();" />

  3. #3
    Membre actif Avatar de JulienFio
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 201
    Points : 241
    Points
    241
    Par défaut
    Bonjour NewB2010,

    Je pense que tu peux t'en sortir avec l'Event "afterrender" (après affichage).
    exemple pour la fenetre 1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Ext.onReady (function () {
     Ext.onReady(function() {
    var win_1 = new Ext.Window({
    id : "my_window_1",
    shadow : true,
    width : 150,
    height : 200,
    title : "Title_of_window_1",
    })
    win_1.show();
     
    });
     
     
     
    Ext.getCmp('my_window_1').on('afterrender', function() {
            var myWindow = Ext.getCmp('my_window_1');
            myWindow.setSize(500, 1000);
            myWindow.minizable = false;  // pas sûr de ça
        });
    tu peux jouer aussi sur la position de ta fenêtre avec la méthode setPosition( Number left, Number top )

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci JulienFio de ta réponse, cependant elle ne fonctionne pas.
    J'ai supprimé la première ligne, mais j'ai l'erreur: Ext.getCmp("my_window_1") is undefined, et je ne sais pas pourquoi.

  5. #5
    Membre actif Avatar de JulienFio
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 201
    Points : 241
    Points
    241
    Par défaut
    Tu peux poster ton code ?

    Je ne vois pas pourquoi tu as une erreur comme ça

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Ci-dessous:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css"/>
        <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script>
        <script type="text/javascript" src="../../ext-all.js"></script>
     
    </head>
    <body>
     
    <script type="text/javascript">
     
    Ext.onReady(function() {
    	var win_1 = new Ext.Window({
    		id : "my_window_1",
    		shadow : true,
    		width : 150,
    		height : 200,
    		title : "Title_of_window_1",
    })
    win_1.show();
     
    });
     
     
    Ext.getCmp('my_window_1').on('afterrender', function() {
            var myWindow = Ext.getCmp('my_window_1');
            myWindow.setSize(500, 1000);
            myWindow.minizable = false;  // pas sûr de ça
    });
     
     
    </script>
     
    </body>
     
     
    </html>

  7. #7
    Membre actif Avatar de JulienFio
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 201
    Points : 241
    Points
    241
    Par défaut
    J'ai cherché mais je ne vois pas Newb2010. J'ai moi aussi ce même genre de problème, je déclare un composant et ensuite je tente d'y accéder avec un getCmp()

    Je ne saurais pas expliquer pourquoi cela retourne cette erreur mais après avoir cherché j'en ai compris quelque chose, c'est que d'utiliser getCmp à tord et à travers n'est pas une bonne solution (code pas très propre et difficile à maintenir). Je suis tombé sur une vidéo qui explique les dangers de ces utilisations et des solutions à ce problème. L'ayant trouvé très intéressant je te le fais partager.

    [ame="http://vimeo.com/14816550"]Les dangers de getCmp[/ame]

    Je suis en train de revoir l'architecture de mon code en utilisant le design pattern property.

    (Ca ne résoudra pas ton problème cependant)

    Edit: si tu place l'event à l'interieur de ton bloc onready tu ne devrais plus avoir le problème d'undefined sur ta window, mais chez moi le resize ne fonctionne pas...

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 28
    Points : 27
    Points
    27
    Par défaut
    bonjour,

    Perso, depuis la sortie de Ext.js 3.*.*,pour faciliter la maintenance du code et sa lecture, j'intègre directement la gestion des événements dans la déclaration du l'élément, c'est utilisable dans la majorité des cas.

    Exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    flogin=new Ext.Window({
    		layout:'fit',
    		title:'Authentification',
    		id:"flogin",
    		width:270,
    		height:150,
    		plain:false,
    		stateful : false,
    		modal:true,
    		closable:false,
    		resizable:false,
    		bodyBorder:false,
    		items:[formLogin],
    		listeners:{
    			afterrender:function(w){
    				//Mon code après affichage
    			}
    		}	
    	});
     
    	flogin.show();
    Remarque : je n'ai pas regarder la vidéo et c'est peut-être abordé dedans.

Discussions similaires

  1. Réponses: 5
    Dernier message: 28/04/2006, 12h21
  2. Fermer une fenêtre après impression
    Par uado dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 22/02/2006, 18h19
  3. [C#] Empecher le redimensionnement d'une fenêtre
    Par Sydaze dans le forum Windows Forms
    Réponses: 2
    Dernier message: 17/11/2005, 17h27
  4. interdire le redimensionnement d'une fenêtre
    Par marsupile dans le forum C++Builder
    Réponses: 3
    Dernier message: 15/02/2004, 21h48
  5. Redimensionnement d'une fenêtre Directx
    Par Francky033 dans le forum DirectX
    Réponses: 2
    Dernier message: 28/09/2003, 18h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo