Créer une boite de dialogue  (Lu 161 fois) Partager ce sujet Imprimer

1 B


Mouss  24 février 2017 : 16:13

Salut tout le monde,

Je relance le sujet parce que j'aimerais modifier le code suivant mais je ne sais pas trop comment...  :Ooops:

//Acrobat JavaScript Dialog
//Created by DialogDesigner from WindJack Solutions
var DocPrefs =
{

    result:"cancel",
    DoDialog: function(){return app.execDialog(this);},
    strGRP1:"",
    bChk1:false,
    GetRadioSel:function(oRslts,aCtrls){
      for(var strRtn=aCtrls[0];aCtrls.length>0;strRtn=aCtrls.pop()){
        if(oRslts[strRtn] == true)
          return strRtn;
      }
      return "";
    },
    initialize: function(dialog)
    {
        var dlgInit =
        {
                "Chk1": this.bChk1,
        };
        dlgInit[this.strGRP1] = true;
        dialog.load(dlgInit);
    },
    commit: function(dialog)
    {
        var oRslt = dialog.store();
        this.strGRP1 = this.GetRadioSel(oRslt,["Rad1","Rad2","Rad3","Rad4"]);
        this.bChk1 = oRslt["Chk1"];
    },
    description:
    {
        name: "Document Preferences",
        elements:
        [
            {
                type: "view",
                elements:
                [
                    {
                        type: "view",
                        char_height: 10,
                        elements:
                        [
                            {
                                type: "static_text",
                                item_id: "stat",
                                name: "Please Select Configuration",
                                char_width: 15,
                                alignment: "align_fill",
                                font: "dialog",
                            },
                            {
                                type: "cluster",
                                item_id: "cls1",
                                name: "Form Target",
                                char_width: 8,
                                char_height: 8,
                                elements:
                                [
                                    {
                                        type: "radio",
                                        item_id: "Rad1",
                                        group_id: "GRP1",
                                        name: "Departmental",
                                    },
                                    {
                                        type: "radio",
                                        item_id: "Rad2",
                                        group_id: "GRP1",
                                        name: "Corporate",
                                    },
                                ]
                            },
                            {
                                type: "check_box",
                                item_id: "Chk1",
                                name: "Include Section For Staff Info",
                                width: 102,
                                height: 23,
                            },
                            {
                                type: "cluster",
                                item_id: "cls2",
                                name: "Submission",
                                char_width: 8,
                                char_height: 8,
                                elements:
                                [
                                    {
                                        type: "radio",
                                        item_id: "Rad3",
                                        group_id: "GRP1",
                                        name: "Company Server",
                                    },
                                    {
                                        type: "radio",
                                        item_id: "Rad4",
                                        group_id: "GRP1",
                                        name: "Email to Accounting",
                                    },
                                ]
                            },
                        ]
                    },
                    {
                        type: "ok_cancel",
                    },
                ]
            },
        ]
    }
};

// Example Code
DocPrefs.strGRP1 = "";
DocPrefs.bChk1 = false;
if("ok" == DocPrefs.DoDialog())
{

    console.println("GRP1:" + DocPrefs.strGRP1);
    console.println("Chk1:" + DocPrefs.bChk1);
}


Ce code affiche une boîte de dialogue avec boutons radio (cf. capture en pj), moi j'aimerais à la place afficher une liste déroulante mais je ne sais pas comment la déclarer et l'appeler...

Quelqu'un aurait une idée ?


EDIT : Je viens de trouver un guide de Thom P. spécial Boîtes de dialogues!!! Si ça vous intéresse : http://www.windjack.com/DownLoads/AcroDialogsHelp.pdf
Je vais me lancer dans sa lecture voir si ça m'aide.

IP archivée


Merlin  21 février 2017 : 20:18

Bonjour.

Concernant ce sujet je confirme qu'il n'y a pas mieux que les tutos de Thomas P.

Sinon, je me souviens qu'un certain Bebarth avait posté il n'y a pas très longtemps un petit bijou qui affichait un calque et quelques boutons en guise de boite de dialogue customisée et ça le faisait bien.
Mais là je n'ai pas bien le temps de le rechercher…
 :joker:

IP archivée


Mouss  21 février 2017 : 15:37

Bien le bonjour,

Je réponds sur ce topic car j'ai une question similaire. J'étais déjà tombé sur le tuto ci-dessous et j'ai compris que ce que j'essaie de faire sur mon formulaire doit être fait avec un execDialog  :Smiley07:, procédé qui est encore un peu flou pour moi...

Difficile de trouver un tuto clair et simple sur cette fonctionnalité... (peut-être justement parce que ce n'est pas si simple  :jerisjaune:).
Je vais essayer de bidouiller en manipulant des scripts que j'ai pu trouver sur différents PDF faisant appel à un execDialog, mais s'il y a un grand mage ès execDialog qui pourrait vulgariser un peu, ce ne serait pas de refus!

Pour info je cherche à ouvrir une boîte de dialogue au clic sur un bouton qui permettrait, en choisissant dans une liste déroulante (avec 9 éléments) et en entrant le montant d'une dépense, d'ajouter la valeur saisie vers une case dépendant de l'élément choisi dans la liste déroulante  :siffle:

EDIT : lien vers le PDF que j'ai chopé et dont je vais essayer de m'inspirer pour créer ma boîte de dialogue : http://www.windjack.com/resources/Examples/DialogUses.pdf

IP archivée


bebarth  21 février 2017 : 08:05

bonjour,
Pour un novice, tu ne te lances pas dans le plus simple ! Mais après tout, le reste te paraitra peut-être plus simple... :geek:
Voici l'adresse d'un premier tutorial (il y en a 5) pour t'aider à réaliser cela.
https://acrobatusers.com/tutorials/popup_windows_part1
Sinon, il y a peut-être d'autres solutions comme les listes déroulantes, les boutons radio, etc suivant ce que tu veux faire exactement.
Tu peux poster un fichier exemple pour voir ce qui est réalisable simplement...
@+
 :bonjour:

IP archivée


fligthlich  21 février 2017 : 07:04

Bonjour,

je suis novice dans le domaine j'ai créé un formulaire pour entrer des informations, je cherche comment faire pour créer une boite de dialogue (fenêtre avec des prompts, des cases à cocher, etc. et ensuite récupérer toutes les informations collectées afin de créer un format, je travaille dans le verre exemple :

pour un vitrage en 4-16-4
quantité 1
traitement collage longueur /largeur

donc je voudrai l'avoir sous la forme 1 volume 4-16-4 i+Gaz collage siliconetc  )

Merci de m'éclairer.  cdlt.

IP archivée