ChampCrée (Fonction) En anglais : ControlCreate Crée un nouveau champ de n'importe quel type dans une fenêtre par programmation.
Versions 23 et supérieures Nouveauté 23
c est un Champ c <- ChampCrée("BOUTON_1", typBouton, 30, 40, 140, 20) c..Libellé = "Cliquez moi" c..Traitement[trtClic] = maProcédure
ChampCrée("SAISIE_1", typDate, 30, 40, 140, 20) chmp est un Champ chmp <- ChampCrée("DATE", typDate, 150, 150, 80, 20) chmp..LargeurLibellé = 40 chmp..Libellé = "Date"
// Création d'un champ Table avec ses colonnes cTable est un Champ cTable <- ChampCrée("cTable", typTable,0, 0, 300, 250, Vrai) cTable..Ancrage = ancreLargeur + ancreHauteur col1 est un Champ <- ChampCrée("cTable.COL1", typColonne) col1..TypeSaisie = typSaisieTexte col2 est un Champ <- ChampCrée("cTable.COL2", typColonne) col2..TypeSaisie = typSaisieHeure col3 est un Champ <- ChampCrée("cTable.COL3", typColonne) col3..TypeSaisie = typSaisieNum TableAjouteLigne(cTable, "Col 1", "1224", "25")
Syntaxe
<Résultat> = ChampCrée(<Nom> , <Type> [, <X> [, <Y> [, <Largeur> [, <Hauteur> [, <Visible>]]]]])
<Résultat> : Variable de type Champ Le champ créé peut être manipulé via une variable de type Champ. Dans ce cas, l'affectation doit être réalisée avec l'opérateur '<-'. Si la fonction ChampCrée est utilisée directement, le champ est créé dans la fenêtre et est visible par défaut. <Nom> : Chaîne de caractères (avec guillemets) Nom à donner au nouveau champ. Ce nom permettra de manipuler le champ par programmation. Si ce nom existe déjà, une erreur WLangage est affichée. Si ce paramètre correspond à une chaîne vide (""), un nom unique est automatiquement créé. Cas particuliers : - Création d'un champ dans un champ "Parent" : il suffit d'indiquer le nom complet du champ à créer. Par exemple : "Onglet[1].Bouton2".
- Création d'une colonne de saisie dans un champ Table : il suffit d'indiquer le type typColonne et le nom du champ Table avant le nom de la colonne. Par exemple :
// Colonne de type Saisie + Date c <- ChampCrée("TABLE1.COL3", typColonne) c..Largeur = 100 c..TypeSaisie = typSaisieDate
- Création d'une colonne simple dans un champ Table : il suffit d'indiquer le type de la colonne voulu et le nom du champ Table avant le nom de la colonne. Par exemple :
// Colonne de type Image c2 est un Champ <- ChampCrée("Table1.Col3", typImage) c2..Largeur = 50
- Création de volets d'onglet : il suffit d'indiquer le type typVoletOnglet et le nom de l'onglet. Par exemple :
ChampCrée("ONGLET1", typVoletOnglet)
<Type> : Constante de type Entier Type de champ à créer :
| | typActiveX | Champ ActiveX | typAgenda | Champ Agenda | typAsc | Champ Ascenseur | typBarreOutils | Champ Barre d'outils | typBoîteAOutils | Champ Boîte à outils | typBouton | Champ Bouton | typCalendrier | Champ Calendrier | typCarrousel | Champ Carrousel | Versions 20 et supérieurestypCarte Nouveauté 20typCarte typCarte | Champ Carte | typClicage | Champ Image cliquable | typCodeBarres | Champ Code-barres | typColonne | Champ Colonne de table | typComboAVS | Champ Combo avec saisie | typComboSNS | Champ Combo sans saisie | Versions 22 et supérieurestypConférence Nouveauté 22typConférence typConférence | Champ Conférence | Versions 23 et supérieurestypConteneurNatif Nouveauté 23typConteneurNatif typConteneurNatif | Champ Conteneur natif | typCube | Champ Cube | typDate | Champ de saisie de type date | typDurée | Champ de saisie de type durée | Versions 23 et supérieurestypEditeurImages Nouveauté 23typEditeurImages typEditeurImages | Champ Editeur d'images | typFenêtreInterne | Champ Fenêtre Interne | Versions 21 et supérieurestypFil Nouveauté 21typFil typFil | Champ Fil | typForme | Champ Forme/Dessin | typGantt | Colonne de type Diagramme de Gantt | typGraphe | Champ Graphe | typHeure | Champ de saisie de type heure | typHTML | Champ Libellé HTML | typImage | Champ Image | typInterr | Champ Interrupteur | Versions 24 et supérieurestypInterrupteurABascule Nouveauté 24typInterrupteurABascule typInterrupteurABascule | Champ Interrupteur à bascule | typJauge | Champ Jauge | Versions 20 et supérieurestypJaugeInfinie Nouveauté 20typJaugeInfinie typJaugeInfinie | Champ Jauge infinie | Versions 23 et supérieurestypLecteurPDF Nouveauté 23typLecteurPDF typLecteurPDF | Champ Lecteur PDF | typLibellé | Champ Libellé | typListe | Champ Liste | typListeImage | Champ Liste image | typMonétaire | Champ de saisie de type monétaire | typMultimédia | Champ Multimédia | typNotation | Champ Notation | Versions 21 et supérieurestypNoteRepositionnable Nouveauté 21typNoteRepositionnable typNoteRepositionnable | Champ Note repositionnable | typNum | Champ de saisie de type numérique | typOle | Champ OLE | typOnglet | Champ Onglet | typOrganigramme | Champ Organigramme | Versions 24 et supérieurestypPanneau Nouveauté 24typPanneau typPanneau | Champ Panneau dockable | typPlanning | Champ Planning | typPotentiomètre | Champ Potentiomètre | typPotentiomètreRotatif | Champ Potentiomètre rotatif | Versions 24 et supérieurestypRangeSlider Nouveauté 24typRangeSlider typRangeSlider | Champ Range Slider | typRuban | Champ Ruban | typSélect | Champ Sélecteur | typSéparateur | Champ Séparateur | typSpin | Champ Spin | typSuperChamp | Superchamp | typTable | Champ Table | typTableauCroiséDynamique | Champ Tableau croisé dynamique | Versions 19 et supérieurestypTableauDeBord Nouveauté 19typTableauDeBord typTableauDeBord | Champ Tableau de bord | typTableHierarchique | Champ Table hiérarchique | Versions 20 et supérieurestypTableur Nouveauté 20typTableur typTableur | Champ Tableur | typTexte | Champ de saisie de type texte | typTiroir | Champ Tiroir | Versions 22 et supérieurestypTraitementDeTexte Nouveauté 22typTraitementDeTexte typTraitementDeTexte | Champ Traitement de texte | typTreeMap | Champ TreeMap | typTreeView | Champ Arbre | typVoletOnglet | Champ Volet d'onglet | typWebCam | Champ Web Camera | typXaml | Champ Xaml | typZoneMultiligne | Champ Zone multiligne | typZoneRépétée | Champ Zone répétée |
Si le type est invalide, une erreur WLangage est affichée. <X> : Entier optionnel Abscisse du champ à créer (position sur l'axe des X) en pixels. Position horizontale du coin haut gauche du champ par rapport au coin haut gauche de la zone client de la fenêtre (c'est-à-dire la fenêtre sans les barres de titre et de menu ni le cadre). Ce paramètre correspond à la propriété ..XInitial. Si ce paramètre n'est pas précisé, l'abscisse du champ est 0. Il est ensuite possible de modifier cette valeur avec la propriété ..X. <Y> : Entier optionnel Ordonnée du champ à créer (position sur l'axe des Y) en pixels. Position verticale du coin haut gauche du champ par rapport au coin haut gauche de la zone client de la fenêtre (c'est-à-dire la fenêtre sans les barres de titre et de menu ni le cadre). Ce paramètre correspond à la propriété ..YInitial. Si ce paramètre n'est pas précisé, l'ordonnée du champ est 0. Il est ensuite possible de modifier cette valeur avec la propriété ..Y. <Largeur> : Entier optionnel Largeur du champ à créer (exprimée en pixels). Ce paramètre correspond à la propriété ..LargeurInitiale. Si ce paramètre n'est pas précisé, la largeur du champ est 0. Il est ensuite possible de modifier cette valeur avec la propriété ..Hauteur. <Hauteur> : Entier optionnel Hauteur du champ à créer (exprimée en pixels). Ce paramètre correspond à la propriété ..HauteurInitiale. Si ce paramètre n'est pas précisé, la hauteur du champ est 0. Il est ensuite possible de modifier cette valeur avec la propriété ..Largeur. <Visible> : Booléen optionnel - Vrai (valeur par défaut) si le champ doit être visible,
- Faux pour créer un champ invisible.
Il est ensuite possible de modifier cette valeur avec la propriété ..Visible.
Remarques Si plusieurs champs sont créés dans la même fenêtre en une seule opération, il est conseillé de désactiver la propriété ..AffichageActif avant la création des champs puis de la réactiver après : l'affichage des nouveaux champs sera optimisé et l'effet d'apparition progressive des champs sera supprimé. - Pour paramétrer les caractéristiques du champ créé, utilisez les propriétés associées au type de champ créé :
- Si le champ est créé directement, il est possible d'utiliser l'opérateur d'indirection pour manipuler le champ par son nom :
ChampCrée("BOUTON_1", typBouton, 30, 40, 140, 20) {"BOUTON_1"}..Libellé = "Envoyer un email" {"BOUTON_1"}..Traitement[trtClic] = maProcédure
- Si le champ créé est associé à une variable de type Champ, il suffit d'utiliser directement les propriétés du champ sur la variable :
c est un Champ c <- ChampCrée("BOUTON_1", typBouton, 30, 40, 140, 20) c..Libellé = "Cliquez moi" c..Traitement[trtClic] = maProcédure
- Pour changer le style du champ créé :
utilisez la fonction ChangeStyle. Il suffit d'affecter au champ un style présent dans la feuille de styles du projet. Versions 20 et supérieuresutilisez la propriété ..Style. Cette propriété permet de copier le style d'un champ existant dans un autre champ. Nouveauté 20utilisez la propriété ..Style. Cette propriété permet de copier le style d'un champ existant dans un autre champ. utilisez la propriété ..Style. Cette propriété permet de copier le style d'un champ existant dans un autre champ.
- Pour définir les différents traitements associés au champ, utilisez la propriété ..Traitement.
- Pour supprimer un champ créé avec la fonction ChampCrée, utilisez la fonction ChampSupprime.
Classification Métier / UI : Code IHM Composante : wd250obj.dll
Documentation également disponible pour…
|
|
|
| |
| | Pour éviter de chercher aussi longtemps que moi ...
Soit une table "table_nok" LOCAL sNomcolonne est une chaîne sNomcolonne1 est une chaîne sNomcolonne2 est une chaîne sNomcolonne3 est une chaîne sNomcourt est une chaîne sNomcourt1 est une chaîne sNomcourt2 est une chaîne sNomcourt3 est une chaîne i est un numérique champdyn est un Champ champdyn1 est un Champ champdyn2 est un Champ champdyn3 est un Champ m est un numérique sContenuEnreg est une chaîne i=1 sNomcolonne ="TABLE_nok.Col_texte_"+NumériqueVersChaîne(i,"02d");sNomcourt ="Col_texte_"+NumériqueVersChaîne(i,"02d") sNomcolonne1="TABLE_nok.Col_combo_"+NumériqueVersChaîne(i,"02d");sNomcourt1="Col_combo_"+NumériqueVersChaîne(i,"02d") sNomcolonne2="TABLE_nok.Col_numer_"+NumériqueVersChaîne(i,"02d");sNomcourt2="Col_numer_"+NumériqueVersChaîne(i,"02d") sNomcolonne3="TABLE_nok.Col_combi_"+NumériqueVersChaîne(i,"02d");sNomcourt3="Col_combi_"+NumériqueVersChaîne(i,"02d")
champdyn <- ChampCrée(sNomcolonne, typColonne) champdyn..Largeur = 100 //champdyn..libelle = gtabBases_juridiques[i][3]
champdyn1 <- ChampCrée(sNomcolonne1, typComboAVS) champdyn1..Largeur = 200
champdyn2 <- ChampCrée(sNomcolonne2, typColonne) champdyn2..Largeur = 100 champdyn2..TypeSaisie=typNum champdyn2..MasqueSaisie="+999 999,0000"
champdyn3 <- ChampCrée(sNomcolonne3, typComboSNS) champdyn3..Largeur = 200
m=TableAjouteLigne(TABLE_nok) sContenuEnreg="Ligne 1 - Super"+RC+"Ligne 2 - Très bien" {"TABLE_nok["+m+"]+."+sNomcourt1,indChamp}..Contenu=sContenuEnreg {"TABLE_nok["+m+"]+."+sNomcourt3,indChamp}..Contenu=sContenuEnreg
m=TableAjouteLigne(TABLE_nok) sContenuEnreg="Ligne 3 - Bien"+RC+"Ligne 4 - Médiocre" {"TABLE_nok["+m+"]+."+sNomcourt1,indChamp}..Contenu=sContenuEnreg {"TABLE_nok["+m+"]+."+sNomcourt3,indChamp}..Contenu=sContenuEnreg
m=TableAjouteLigne(TABLE_nok) sContenuEnreg="Ligne 5 - Mauvais"+RC+"Ligne 6 - Nul" {"TABLE_nok["+m+"]+."+sNomcourt1,indChamp}..Contenu=sContenuEnreg {"TABLE_nok["+m+"]+."+sNomcourt3,indChamp}..Contenu=sContenuEnreg
|
|
|
|
| |
| |
| |
| |
| |
| |
| | |
|