Aller au contenu

Taille edit_box


VtKp

Messages recommandés

Bonjour à tous,

 

Ma question est je pense toute simple.

Peut-on sans passer par une boite de dialogue faite avec OpenDcl paramétrer la taille d'un edit_box en DCL ?

Je voudrais agrandir la taille d'une edit_box sur 2 ou 3 lignes par exemple.

J'ai bien essayé les termes heigth ou fixed_heigth = true mais rien n'y fait,

j'ai toujours mon edit_box dans mon dcl qui apparait sur une ligne.

Je sais que l'on peut modifier le nombre de caractères entré par edit_width donc sur la largeur mais sur la hauteur ???

 

Merci par avance de vos réponses.

Lien vers le commentaire
Partager sur d’autres sites

Ou bien si ce n'est pas possible en dcl,

comment avec OpenDcl et un edit_box faire un saut de ligne ?

J'ai bien essayé avec OpenDcl en limitant le nombre de carractères à 25 et avoir un saut de ligne sur le 26ième caractère mais je ne trouve pas l'option ou le control permettant de le faire.

 

merci par avance de votre aide

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

En DCL un contrôle edit_box ne peut avoir qu'une seule ligne.

 

Avec ObjectDCL (que je connais très mal) on peut avoir des contrôles TextBox multiligne, il fuffit de mettre la propriété FilterStyle à 8 (Multiligne String).

Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
ADSK_Expert_Elite_Icon_S_Color_Blk_125.png

Lien vers le commentaire
Partager sur d’autres sites

Bonjour Gile

 

J'ai essaye avec la propriete Multiligne String dans Opendcl Mais ca ne marche pas.

Je travaille sous Opendcl et pour les edit box il y a une function qui limite Le nombre de caracteres Mais Comment faire pour quand Le nombre maximum de caracteres est atteint on indique a l'edit box de faire un Saut de ligne.

 

Merci par avance de votre aide

Lien vers le commentaire
Partager sur d’autres sites

Prends donc une LISTBOX, tu gères les diffrentes lignes comme tu gères des éléments de liste.

Tu pourras même gérer des colonnes.

 

C'est une idée qui vaut ce qu'elle vaut...

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Lien vers le commentaire
Partager sur d’autres sites

Bonjour Tramber,

 

J'ai pas pu te répondre plus tôt car j'étais en déplacement cette semaine.

J'ai essayé avec une listBox mais on ne peut éditer de texte à l'intérieur.

Ou alors je ne vois pas de quoi tu parles.

 

Merci pour tes éclaircissements

 

 

Lien vers le commentaire
Partager sur d’autres sites

Bonjour à tous,

 

Dés fois en trop s'entêtant, la réponse est souvent sous nos yeux.

Pour mon histoire de saut de ligne, Gile a donné la bonne réponse mais ca ne fonctionnait pas car j'avais coché pour le textbox onMaxText qui limite le nombre de caractères d'une chaine du coup évidemment le saut de ligne ne pouvait fonctionner.

Je confirme donc qu'avec l'option Multiline String, ca fonctionne très bien.

 

Maitenant, je suis confronté à un autre problème.

J'ai deux listbox qui sont alimenter par deux listes différentes mais qui ont le même nombre d'éléments.

 

Je souhaiterais si je modifie la valeur de la 1ere listbox en mettant par exemple la valeur sur le 3ième élement de ma première liste, la seconde listbox se change automatiquement est pointe sur le 3ième élement de ma seconde liste. Ceci ne serait valable que si je modifie la valeur de ma première listbox, mais pas dans le sens contraire, si par exemple, je modifie la valeur de ma seconde listbox, je ne veux pas qu'on modifie la première.

 

Je veux juste le cas ou si l'utilisateur met la nième valeur de ma première listbox, la seconde listbox pointe elle aussi sur le nième élement de ma seconde liste.

J'espère avoir été assez explicite.

 

Et honnêtement, j'ai tout essayé.

Avec l'option, SelChanged, SetFocus, DropDown, EditChanged mais rien n'y fait. et même en agissant avec le dcl_Form_Close en attribuant des valeurs dans une boucle mais rien......

Peut être voire surement que je m'y suis mal pris.

 

En attendant votre aide, merci.

 

 

Lien vers le commentaire
Partager sur d’autres sites

Bonjour Tramber,

 

Désolé de te répondre tardivement mais j'étais en déplacement cette semaine.

 

Voici mon code

 

 (defun c:ch1 (/ lst1 lst2 lst3 d i num_ch result
c:xd_PT1_Form_CH1_OnInitialize
c:xd_PT1_Form_CH1_TBUT1_OnClicked
c:xd_PT1_Form_CH1_TBUT2_OnClicked
c:xd_PT1_Form_CH1_TBUT3_OnClicked
c:xd_PT1_Form_CH1_CBOX2_OnSelChanged
)

(setvar "CMDECHO" 0)
(command "OPENDCL")
(dcl_Project_Load "C:/Users/Christophe/xd_PT1.odcl" T)

(setq result 3)
(setq num_ch " ")

(setq d 6)
(setq i 6)

(setq lst1 (list
"Projeté"
"Existant"
"))

(setq lst2 '("C1" "C2" "C3" "C4" "Inconnu"))

(setq lst3 '("Dim C1" "Dim C2" "Dim C3" "Dim C4" "Inconnu"))

(defun c:xd_PT1_Form_CH1_OnInitialize (/)

(dcl_ComboBox_Clear xd_PT1_Form_CH1_CBOX1)
(dcl_ComboBox_AddList xd_PT1_Form_CH1_CBOX1 lst1)
(dcl_ComboBox_SetCurSel xd_PT1_Form_CH1_CBOX1 2)

(dcl_ComboBox_Clear xd_PT1_Form_CH1_CBOX2)
(dcl_ComboBox_AddList xd_PT1_Form_CH1_CBOX2 lst2)
(dcl_ComboBox_SetCurSel xd_PT1_Form_CH1_CBOX2 d)

(dcl_ComboBox_Clear xd_PT1_Form_CH1_CBOX3)
(dcl_ComboBox_AddList xd_PT1_Form_CH1_CBOX3 lst3)
(dcl_ComboBox_SetCurSel xd_PT1_Form_CH1_CBOX3 i)

(dcl_ComboBox_Clear xd_PT1_Form_CH1_CBOX4)
(dcl_ComboBox_AddList xd_PT1_Form_CH1_CBOX4 (list "Vrai" "Faux"))
(dcl_ComboBox_SetCurSel xd_PT1_Form_CH1_CBOX4 0)

(dcl_Control_SetText xd_PT1_Form_CH1_TBOX1 num_ch)
(dcl_Control_SetText xd_PT1_Form_CH1_TBOX2 " ")

)


(defun c:xd_PT1_Form_CH1_TBUT1_OnClicked (/ typ)

(setq typ (list
(dcl_ComboBox_GetEBText xd_PT1_Form_CH1_CBOX1)
(dcl_ComboBox_GetEBText xd_PT1_Form_CH1_CBOX2)
(dcl_ComboBox_GetEBText xd_PT1_Form_CH1_CBOX3)
(dcl_Control_GetText xd_PT1_Form_CH1_TBOX1)
(dcl_Control_GetText xd_PT1_Form_CH1_TBOX2)
(dcl_ComboBox_GetEBText xd_PT1_Form_CH1_CBOX4)
(dcl_Control_GetText xd_PT1_Form_CH1_TBOX3)
(dcl_Control_GetText xd_PT1_Form_CH1_TBOX4)
))

(dcl_Form_Close xd_PT1_Form_CH1)
(princ "\n")
(princ typ)
)

(defun c:xd_PT1_Form_CH1_TBUT2_OnClicked (/)
(dcl_Form_Close xd_PT1_Form_CH1)
(prompt "\nAucune entité est renseignée.")
)

(defun c:xd_PT1_Form_CH1_TBUT3_OnClicked (/)
(setq d (dcl_ComboBox_GetCurSel xd_PT1_Form_CH1_CBOX2))
(setq i (dcl_ComboBox_GetCurSel xd_PT1_Form_CH1_CBOX3))
(dcl_Form_Close xd_PT1_Form_CH1 4))

[surligneur] (defun c:xd_PT1_Form_CH1_CBOX2_OnSelChanged (i txt/)
(setq i (dcl_ComboBox_GetCurSel xd_PT1_Form_CH1_CBOX2))
(dcl_ComboBox_SetCurSel xd_PT1_Form_CH1_CBOX3 i)
)[/surligneur] 

(while (< 2 result)
(setq result (dcl_Form_Show xd_PT1_Form_CH1))
(cond

((= 4 result)
(setq num_ch (SelectText))
(setq i i)
(setq d d)
)

)
)


(setvar "CMDECHO" 1)
(princ)
)

 

 

Je bloque sur la ligne surligné comme indiqué dans le message précedent.

Merci aussi de m'indiquer si j'adapte la bonne méthode pour programmer en lisp en mettant le OnInitialise dans la routine principale ou si je dois l'appeler comme une fonction simple.

 

Merci encore de ton aide.

 

Lien vers le commentaire
Partager sur d’autres sites

(setq i ...

me parait inutile puisqu'il est renvoyé par la fonction.

 

Je dois t'avouer que je ne vois pas d'erreur dans le code a priori.

je suis gené pour te répondre. Essaye une syntaxe type :

(dcl_ComboBox_SetProperty xd_PT1_Form_CH1_CBOX3 "cursel" i)

....?

 

Pas de problèmes pour le "on_initalize". Moi aussi je le mets assez rapidment au début.

Bureau d'études dessin.

Spécialiste Escaliers

Développement - Formation

 

./__\.
(.°=°.)
Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité