Mai 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | 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 | | | Calendrier |
|
| | Form Automatique | |
| | Auteur | Message |
---|
Jean Claude
Nombre de messages : 5948 Age : 69 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Form Automatique Ven 16 Juil 2010 - 13:15 | |
| Voici une énième version de faux form, vous charger le code, faite le tourner. Vous remarquerez un cadre bleu dans le bandau, c'est un PICTURE pour charger une image de bouton de fermeture de votre choix. Vous cliquez dessus pour sortir. Le chargement de l'image se trouve ligne 72. Les explications sont sous forme de REM ( ' ) - Code:
-
dim xe,ye xe=screen_x:' largeur écran ye=screen_y:' hauteur écran
dim nf%,nf2%,no%,wnf%,hnf%,lnf%,tnf%,rp,gp,bp,df0,rf,gf,bf,np%,hb,rb,gb,bb,epe,rt,gt,bt dim caption_bandau$,pdf$,font_titre$ label cre_form,position_form label abandon_form100
label fin ' ===================================== FORM 0 =============================== hide 0
' ============================== CREATION de FORM 100 ========================== nf%=100:wnf%=500:hnf%=500:' dimensions du form pdf$="CC": ' Position du Form sur l'écran (voir LABEL position_form pour les options) df0=4:' Epaisseur du dépacement extérieur du Form nf% rf=180:gf=235:bf=255:' Couleur_remplissage du PICTURE sous le bandau rp=0:gp=0:bp=255:' Couleur du PEN epe=2:' épaisseur du PEN hb=34:' Hauteur du bandau rb=0:gb=200:bb=200:' couleur remplissage du Bandau caption_bandau$="FORM 100":font_titre$="fixedsys":rt=0:gt=0:bt=255:' Titre du bandeau (police et couleur de l'ALPHA) gosub cre_form
' ============== Récap des numéros d'objets système utilisés =================== ' nf%+1 => FORM de TRAVAIL ayant command_target_is ' nf%+2 => PICTURE du BANDAU ' nf%+3 => PICTURE du BOUTTON de Fermeture ' nf%+4 => ALPHA contenant le TITRE dans le BANDAU (caption_bandau$) ' nf%+5 => PICTURE sous le BANDAU no%=np%:' initialisation numéro d'objet
' ====================== OBJETS DE FORM 100 etc... ============================= ' no%=no%+1:Objet no%
on_click nf%+3,abandon_form100
' ============================== CREATION de FORM 200 ========================== ' ICI copier/coller ligne 15 à 24 et renseigner les variables ' nf%=200 etc.......
' ===================================== avant END ============================== ' ici display,wait ou dlist etc..... END ' ============================================================================== ' ici écrire le code abandon_form100: hide nf%:hide nf2% show 0 return
' ============================================================================== cre_form: if hb<34 then message " La variable hb doit être > 33":terminate if df0<4 then message " La variable df0 doit être > 3":terminate form nf%:width nf%,wnf%:height nf%,hnf%:command_target_is nf% gosub position_form:color nf%,225,225,225: ' Couleur du dépacement border_hide nf%:inactive nf% ' Form de travail nf2%=nf%+1:form nf2%:width nf2%,width(nf%)-(df0*2):height nf2%,height(nf%)-(df0*2) top nf2%,top(nf%)+df0:left nf2%,left(nf%)+df0 color nf2%,rf,gf,bf:border_hide nf2%:command_target_is nf2% ' bandau np%=nf2%+1:picture np%:width np%,width(nf2%):height np%,hb:top np%,0:left np%,0 2d_target_is np% 2d_pen_width epe:2d_pen_color rp,gp,bp 2d_fill_color rb,gb,bb 2d_rectangle epe,epe,width(np%)-int(epe/2),height(np%)-int(epe/2) ' bouton np%=np%+1:picture np%:width np%,26:height np%,26:top np%,top(np%-1)+(epe*2):left np%,width(np%-1)-(26+epe) color np%,rp,gp,bp:' file_load np%,"croixrouge2.bmp" ' titre np%=np%+1:alpha np%::top np%,int(hb/2)-8:left np%,((epe*2)*2):caption np%,caption_bandau$ color np%,rb,gb,bb:font_name np%,font_titre$:font_color np%,rt,gt,bt ' Picture_sous_bandau np%=np%+1:picture np%:width np%,width(nf2%):height np%,height(nf2%)-(epe+hb) top np%,hb:left np%,0 2d_target_is np% 2d_pen_width epe:2d_pen_color rp,gp,bp 2d_fill_color rf,gf,bf 2d_rectangle epe,epe,width(np%),height(np%) return ' ============================================================================== position_form: if pdf$="HG" then left nf%,0:top nf%,0 if pdf$="HC" then left nf%,int(xe/2)-int(width(nf%)/2):top nf%,0 if pdf$="HD" then left nf%,xe-width(nf%):top nf%,0 if pdf$="BG" then left nf%,0:top nf%,ye-height(nf%) if pdf$="BC" then left nf%,int(xe/2)-int(width(nf%)/2):top nf%,ye-height(nf%) if pdf$="BD" then left nf%,xe-width(nf%):top nf%,ye-height(nf%) if pdf$="CG" then left nf%,0:top nf%,int(ye/2)-int(height(nf%)/2) if pdf$="CC" then left nf%,int(xe/2)-int(width(nf%)/2):top nf%,int(ye/2)-int(height(nf%)/2) if pdf$="CD" then left nf%,xe-width(nf%):top nf%,int(ye/2)-int(height(nf%)/2) if pdf$="DM" then left nf%,lnf%:top nf%,tnf% if pdf$="" then message "La variable pdf$ doit être renseigné":terminate return
fin: terminate
à vous de jouer
Dernière édition par Jean Claude le Ven 16 Juil 2010 - 15:29, édité 1 fois | |
| | | Jean Claude
Nombre de messages : 5948 Age : 69 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Form Automatique Ven 16 Juil 2010 - 13:55 | |
| J'ai modifié la ligne 71 par - Code:
-
np%=np%+1:picture np%:width np%,26:height np%,26:top np%,top(np%-1)+(epe*2):left np%,width(np%-1)-(26+epe)
Le calcul de TOP est plus correct. | |
| | | Jean Claude
Nombre de messages : 5948 Age : 69 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Form Automatique Ven 16 Juil 2010 - 14:46 | |
| il est temps que je vous donne quelques précisions: 1) l'intérêt premier de ce code est de fabriquer autant de FORM de 100 en 100 que l'on veut sans se soucier de gerer les encadrements, par Copier/Coller et en renseignant les différentes variables de gestion du FORM. 2) le deuxième intérêt (non négligeable) c'est de controler la sortie du Form via un LABEL abandon_form100 ou 200 ou 300 etc... 3) La bordure extérieur a pour but de séparer le Form du fond de l'écran (vous pouvez en changer la couleur ligne 58, vous pouvez aussi lui adjoindre un ON_CLICK 0,fin). 4) Vous colorez le form et le bandeau comme çà vous chante et vous choisissez l'icone de bouton de sortie que vous voulez. Et vous pouvez agrandir le HEIGHT du bandau si votre boutton est trop grand (le Picture du dessous suit le mouvement). 5) il n'y a pas de "vrai Button" (qui sont vilains) mais un Picture qui sert de bouton. Vous pouvez continuer de cette façon en ajoutant d'autres icones dans des picture(s). 6) vous redimensionnez chaque nouveau Form comme çà vous chante. 7) Vous disposez d'une variable pdf$(Position Du Form) qui est renseigné par 2 lettres (Ex: "CC" => Centré/Centré ou "HG" => Haut/Gauche etc... et "DM" pour définition manuelle de la position). Voir les lignes 85 à 97 pour toutes les options. 8 ) FORM 0 est hider mais peut être utilisé (par exemple pour un MAIN_MENU). 9) les numéros d'Objets de 1 à 99 sont disponiblles. 10) COMMAND_TARGET est automatiquement orienté sur le FORM de travail. 11) La création d'objets doit se faire par no%=no%+1 (numérotation automatique) CA VA FAIRE PLAISIR à PAPY35. Maintenant, par rapport à mes essais précédents, il n'y a plus d'éffacement intempestif des encadrements ou du titre (même si on utilise HINT sur le boutton de sortie) Dommage que l'on ne peut pas insérer un MAIN_MENU dans ce système sans quil soit au dessus du bandau, mais on peut toujours ajouter une barre de boutons sous forme de "vrai bouton" ou de Picture remplie avec une icone, ou des Alpha(s) Voilà à ce à quoi j'ai pensé pour que vous voyiez l'intérêt de cette façon de faire. Je suis ouvert à vos critiques (et surtout à vos compliments) | |
| | | Nardo26
Nombre de messages : 2294 Age : 55 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Form Automatique Ven 16 Juil 2010 - 15:02 | |
| Hello Jean-Claude, Il y a un truc que je ne comprend pas dans ton programme c'est la création du form nf%... A quoi sert-il ? Il est crée, modifié en taille et en position puis il est caché et désactivé... | |
| | | Jean Claude
Nombre de messages : 5948 Age : 69 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Form Automatique Ven 16 Juil 2010 - 15:22 | |
| Oui normal, c'est celui qui sert de bordure extérieur. Tu peux le réactiver et y ajouter un on_click,fin pour sortir par la bordure (Pourqoi ? bof) Cette bordure a pour but de séparer le "faux-form" de l'image de fond d'écran surtout si tu dimensionne petit. Important: c'est les dimensions de ce FORM nf% qui détermine automatiquement tout ce qui suit (d'ou l'intérêt du code) A+ | |
| | | Jean Claude
Nombre de messages : 5948 Age : 69 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Form Automatique Ven 16 Juil 2010 - 15:30 | |
| J'ai fait une retouche sans gravité ligne 56... (Une erreur dans le caption d'un message) | |
| | | Jean Claude
Nombre de messages : 5948 Age : 69 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Form Automatique Ven 16 Juil 2010 - 16:43 | |
| Voici une nouvelle version avec un LOGO à gauche du bandau et un centrage automatique du texte du bandau. Et j'ai regroupé le chargement des images (icones) ligne 40 et 41 pour que vous puissiez les shunter ou y mettre vos images (préalablement redimensionnée à 25x25, à moins d'agrandir le HEIGHT du bandau avec le variable hb) - Code:
-
dim xe,ye xe=screen_x:' largeur écran ye=screen_y:' hauteur écran
' les 3 lignes ci_dessous sont réservé pour la construction des Forms dim nf%,nf2%,no%,wnf%,hnf%,lnf%,tnf%,rp,gp,bp,df0,rf,gf,bf,np%,hb,rb,gb,bb,epe,rt,gt,bt,lcb dim caption_bandau$,pdf$,font_titre$ label cre_form,position_form
' ici vos DIM et LABEL label abandon_form100,fin
' ===================================== FORM 0 =============================== hide 0
' ============================== CREATION de FORM 100 ========================== nf%=100:wnf%=500:hnf%=500:' dimensions du form pdf$="CC": ' Position du Form sur l'écran (voir LABEL position_form pour les options) df0=4:' Epaisseur du dépacement extérieur du Form nf% rf=180:gf=235:bf=255:' Couleur_remplissage du PICTURE sous le bandau rp=0:gp=0:bp=255:' Couleur du PEN epe=2:' épaisseur du PEN hb=34:' Hauteur du bandau rb=0:gb=200:bb=200:' couleur remplissage du Bandau caption_bandau$="FORM 100 *************":font_titre$="fixedsys":rt=0:gt=0:bt=255:' Titre du bandeau (police et couleur de l'ALPHA) gosub cre_form
' ============== Récap des numéros d'objets système utilisés =================== ' nf%+1 => FORM de TRAVAIL ayant command_target_is ' nf%+2 => PICTURE du BANDAU ' nf%+3 => PICTURE du BOUTTON de Fermeture ' nf%+4 => PICTURE du LOGO ' nf%+5 => ALPHA contenant le TITRE dans le BANDAU (caption_bandau$) ' nf%+6 => PICTURE sous le BANDAU no%=np%:' initialisation numéro d'objet
' ====================== OBJETS DE FORM 100 etc... ============================= ' no%=no%+1:Objet no%
file_load nf%+3,"croixrouge2.bmp" file_load nf%+4,"logo2.bmp" on_click nf%+3,abandon_form100
' ============================== CREATION de FORM 200 ========================== ' ICI copier/coller ligne 15 à 24 et renseigner les variables ' nf%=200 etc.......
' ===================================== avant END ============================== ' ici display,wait ou dlist etc..... END ' ============================================================================== ' ici écrire le code abandon_form100: hide nf%:hide nf2% show 0 return
' ============================================================================== cre_form: if hb<34 then message " La variable hb doit être > 33":terminate if df0<4 then message " La variable df0 doit être > 3":terminate form nf%:width nf%,wnf%:height nf%,hnf%:command_target_is nf% gosub position_form:color nf%,225,225,225:' Couleur du Form dépassant border_hide nf%:inactive nf% ' Form de travail nf2%=nf%+1:form nf2%:width nf2%,width(nf%)-(df0*2):height nf2%,height(nf%)-(df0*2) top nf2%,top(nf%)+df0:left nf2%,left(nf%)+df0 color nf2%,rf,gf,bf:border_hide nf2%:command_target_is nf2% ' bandau np%=nf2%+1:picture np%:width np%,width(nf2%):height np%,hb:top np%,0:left np%,0 2d_target_is np%:2d_pen_width epe:2d_pen_color rp,gp,bp:2d_fill_color rb,gb,bb 2d_rectangle epe,epe,width(np%)-int(epe/2),height(np%)-int(epe/2) ' bouton np%=np%+1:picture np%:width np%,26:height np%,26:top np%,top(np%-1)+(epe*2):left np%,width(np%-1)-(26+epe) color np%,rp,gp,bp ' logo np%=np%+1:picture np%:width np%,26:height np%,26:top np%,top(np%-1):left np%,(epe*2) color np%,rb,gb,bb ' titre lcb=len(caption_bandau$)*4 np%=np%+1:alpha np%:top np%,int(hb/2)-8:left np%,int(width(nf2%)/2)-lcb:caption np%,caption_bandau$ color np%,rb,gb,bb:font_name np%,font_titre$:font_color np%,rt,gt,bt ' Picture_sous_bandau np%=np%+1:picture np%:width np%,width(nf2%):height np%,height(nf2%)-(epe+hb) top np%,hb:left np%,0 2d_target_is np%:2d_pen_width epe:2d_pen_color rp,gp,bp:2d_fill_color rf,gf,bf 2d_rectangle epe,epe,width(np%),height(np%) return ' ============================================================================== position_form: if pdf$="HG" then left nf%,0:top nf%,0 if pdf$="HC" then left nf%,int(xe/2)-int(width(nf%)/2):top nf%,0 if pdf$="HD" then left nf%,xe-width(nf%):top nf%,0 if pdf$="BG" then left nf%,0:top nf%,ye-height(nf%) if pdf$="BC" then left nf%,int(xe/2)-int(width(nf%)/2):top nf%,ye-height(nf%) if pdf$="BD" then left nf%,xe-width(nf%):top nf%,ye-height(nf%) if pdf$="CG" then left nf%,0:top nf%,int(ye/2)-int(height(nf%)/2) if pdf$="CC" then left nf%,int(xe/2)-int(width(nf%)/2):top nf%,int(ye/2)-int(height(nf%)/2) if pdf$="CD" then left nf%,xe-width(nf%):top nf%,int(ye/2)-int(height(nf%)/2) if pdf$="DM" then left nf%,lnf%:top nf%,tnf% if pdf$="" then message "La variable pdf$ doit être renseigné":terminate return
fin: terminate
A+ | |
| | | Contenu sponsorisé
| Sujet: Re: Form Automatique | |
| |
| | | | Form Automatique | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |