FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Nouvelle DLL: ouvrir une fenêtre de messages paramétrable Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
Nouvelle DLL: ouvrir une fenêtre de messages paramétrable Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Nouvelle DLL: ouvrir une fenêtre de messages paramétrable Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Nouvelle DLL: ouvrir une fenêtre de messages paramétrable Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Nouvelle DLL: ouvrir une fenêtre de messages paramétrable Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Nouvelle DLL: ouvrir une fenêtre de messages paramétrable Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Nouvelle DLL: ouvrir une fenêtre de messages paramétrable Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Nouvelle DLL: ouvrir une fenêtre de messages paramétrable Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Nouvelle DLL: ouvrir une fenêtre de messages paramétrable Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Nouvelle DLL: ouvrir une fenêtre de messages paramétrable Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Nouvelle DLL: ouvrir une fenêtre de messages paramétrable Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Nouvelle DLL: ouvrir une fenêtre de messages paramétrable Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Nouvelle DLL: ouvrir une fenêtre de messages paramétrable Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Nouvelle DLL: ouvrir une fenêtre de messages paramétrable Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Nouvelle DLL: ouvrir une fenêtre de messages paramétrable Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le Deal du moment : -55%
Friteuse sans huile – PHILIPS – Airfryer ...
Voir le deal
49.99 €

 

 Nouvelle DLL: ouvrir une fenêtre de messages paramétrable

Aller en bas 
4 participants
AuteurMessage
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Nouvelle DLL: ouvrir une fenêtre de messages paramétrable Empty
MessageSujet: Nouvelle DLL: ouvrir une fenêtre de messages paramétrable   Nouvelle DLL: ouvrir une fenêtre de messages paramétrable EmptyMer 18 Jan 2012 - 2:19

Inspiré par un post de Exdragon, j'ai fait une petite DLL contenant pour le moment une seule fonction qui peut ouvrir, en mode modal, une fenêtre avec un libellé (éventuellement multi-ligne) et de 0 à 3 boutons. La présence des boutons est paramétrable, et les textes du titre de la fenêtre, du libellé ainsi que des libellés des 3 boutons sont paramétrables. En retour, la routine indique siu la fenêtre a été fermée par la croix rouge ou par un des trois boutons.

Il s'agit de ShowModal.dll qui se trouve sur mon site dans DLl Divers. La doc a été mise à jour.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
exdragon

exdragon


Nombre de messages : 601
Date d'inscription : 05/01/2012

Nouvelle DLL: ouvrir une fenêtre de messages paramétrable Empty
MessageSujet: Re: Nouvelle DLL: ouvrir une fenêtre de messages paramétrable   Nouvelle DLL: ouvrir une fenêtre de messages paramétrable EmptyMer 18 Jan 2012 - 6:47

Et est-ce qu'on pourra y placer une image de fond et/ou une bordure faite "maison" ?

soit une texture + une bordure
soit une image qui fait les deux à la fois

Par exemple la fenetre principale de mon editeur de map j'aimerais bien la personnaliser.
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Nouvelle DLL: ouvrir une fenêtre de messages paramétrable Empty
MessageSujet: Re: Nouvelle DLL: ouvrir une fenêtre de messages paramétrable   Nouvelle DLL: ouvrir une fenêtre de messages paramétrable EmptyMer 18 Jan 2012 - 7:24

Désolé Klaus, le marchand de sable est passé chez moi hier aussi ...

Voilà l'image dont on parlait hier que je devais t'envoyer quelques minutes après en principe ....

Nouvelle DLL: ouvrir une fenêtre de messages paramétrable Fentre.th

https://2img.net/r/ihimizer/img215/9916/fentre.jpg
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Nouvelle DLL: ouvrir une fenêtre de messages paramétrable Empty
MessageSujet: Re: Nouvelle DLL: ouvrir une fenêtre de messages paramétrable   Nouvelle DLL: ouvrir une fenêtre de messages paramétrable EmptyMer 18 Jan 2012 - 9:31

OK, l'image est parlante, je vais étudier cela.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Nouvelle DLL: ouvrir une fenêtre de messages paramétrable Empty
MessageSujet: Re: Nouvelle DLL: ouvrir une fenêtre de messages paramétrable   Nouvelle DLL: ouvrir une fenêtre de messages paramétrable EmptyMer 18 Jan 2012 - 10:45

Fait attention ca si tu réusii j'ai plein d'idées pour ta DLL (fenêtre explorateur avec en argument un chemin par exemple) ... Smile Bon courage !!
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

Nouvelle DLL: ouvrir une fenêtre de messages paramétrable Empty
MessageSujet: Re: Nouvelle DLL: ouvrir une fenêtre de messages paramétrable   Nouvelle DLL: ouvrir une fenêtre de messages paramétrable EmptyMer 18 Jan 2012 - 11:53

Je ne sais pas exactement ce que tu souhaite faire comme programme, mais à ce stade, pourquoi tu n'écris pas ton applic directement en Delphi ?
Si tu fais en sorte d'avoir toute l'interface graphique dans une DLL, il te reste quoi à écrire en Panoramic ? scratch

EDIT: L'image que tu donnes en lien, peut être entièrement réalisée en Panoramic (c'est d'ailleurs ce que tu as fait pour ta copie d'écran)... où veux-tu en venir ? scratch
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Nouvelle DLL: ouvrir une fenêtre de messages paramétrable Empty
MessageSujet: Re: Nouvelle DLL: ouvrir une fenêtre de messages paramétrable   Nouvelle DLL: ouvrir une fenêtre de messages paramétrable EmptyMer 18 Jan 2012 - 14:11

Ben non, c'est juste les fenêtres standards que l'on utilise fréquement.
Comme Klaus a fait une DLL pour afficher les fenêtres messages en modal avec changement de titre et tout, autant aller au bout du sujet et des possibilités pour avoir une DLL qui permette de faire les fonctions standards de manière simple (principe d'utilisation d'objets préexistant).

Ca à deux avantages:
- d'une part, ça permet de ne pas perdre de temps avec l'interface graphique. La programmation sera propre et lisible.

-d'autre part cela permet de s'affranchir des problèmes d'affichage liés à l'OS (dans tous les cas pour le faire, il faudrait utiliser une DLL pour avoir l'info ...) et de permettre de faire des choses que Panoramic ne permet pas.
Il faudrait même la fusionner avec ta DLL pour pouvoir jouer sur les boutons et avoir tout dans notre nouvelle FORM.DLL Smile

Encore une fois, ce n'est que suite au fait que Klaus est commencé cette DLL puisque jusque là, je faisais ma fenêtre tout seul...

Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

Nouvelle DLL: ouvrir une fenêtre de messages paramétrable Empty
MessageSujet: Re: Nouvelle DLL: ouvrir une fenêtre de messages paramétrable   Nouvelle DLL: ouvrir une fenêtre de messages paramétrable EmptyMer 18 Jan 2012 - 14:23

Citation :
d'une part, ça permet de ne pas perdre de temps avec l'interface graphique. La programmation sera propre et lisible.
Tu perdras autant de temps à charger la dll et de faire des appels à celle-ci...
Si en plus tu veux faire en sorte que tout soit configurable, je ne suis pas sûr que tu gagneras en lisibilites (je ne trouve pas que faire des appels à DLL_CALL# soient plus lisibles)

Citation :
d'autre part cela permet de s'affranchir des problèmes d'affichage liés à l'OS
ben non, tu auras exactement le même problème...(un gars à des problèmes de vue, il change les caractéristiques d'affichage: t'es marron !)
Si tu veux connaitre la largeur des bordures et de la barre de titre, il existe des solutions 100% Panoramic...

Quand tu parles de modal, si tu sous-entends : interdire le redimensionement du FORM, tu peux déjà le faire avec la DLL qui tu as cité... Wink

Je vois plutot la DLL de Klaus comme étant une extension des commandes :
MESSAGE, MESSAGE_CONFIRMATION, etc...
Grace à cette DLL on peut changer le titre de la boite de message...

Revenir en haut Aller en bas
http://nardo26.lescigales.org
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Nouvelle DLL: ouvrir une fenêtre de messages paramétrable Empty
MessageSujet: Re: Nouvelle DLL: ouvrir une fenêtre de messages paramétrable   Nouvelle DLL: ouvrir une fenêtre de messages paramétrable EmptyMer 18 Jan 2012 - 16:01

J'ai remis une version de ma DLL en ligne avec une fonction supplémentaire:
res% = dll_call6("ShowMessageModalEX",adr(tit$),adr(txt$),adr(img$),boutons%,nopt%,adr(libs$))

Cette fonction affiche de 0 à trois boutons avec leurs libellés, comme la fonction précédente.
Elle permet de gérer le titre de la fenêtre, ainsi qu'un message texte multi-ligne.
Elle permet, si img$<>"", d'afficher une image (BMP, JPG, ...) en plus.
Et elle permet d'afficher de 0 à 10 options, chacune avec un libellé paramétrable. Les options sont présentées comme des checkbox, et on peut choisir si l'on veut permettre la sélection multiple ou non.
Tous les libéllés sont passés par un seul string libs$ dans lesquels les différents libellés sont séparés par des ";".
Les libellés des 3 boutons (même si l'on n'utilise qu'un seul !) sont passés au début, suivi de la liste des libellés des options.
Un paramètre donne le nombre d'options à utiliser. Zéro veut dire "pas d'options", 1...10 veut dire autant d'options en sélection multiple, et -1...-10 veut dire autant d'options en sélection exclusive.
Rapportez-vous à la doc dans Autres DLL.rtf - est est mise à jour.

Voici un programme de démo pour générer . ATTENTION ! il y a pour le moment un problème en appelant la DLL si auparavent on a utilisé FILE_NAME$() ! C'est pourquoi j'ai mis les lignes 27 à 30 en commentaire, et j'utilise la variable nom_image$ pour charger le nom d'une image, en ligne 3. Il faut adapter cette ligne à votre configuration, bien sûr. Voici le source:
Code:
label montrer, chercher

dim nom_image$ : nom_image$ = "C:\Documents and Settings\Klaus\Mes documents\Mes projets Delphi\WinTextPrint\apprenants_1.jpg"

dim res%, i%, n%, m%, tit$, txt$, boutons%, lib1$, lib2$, lib3$
dim nopt%, img$, libs$, resbtn%, resopt%


width 0,800

alpha 1 : top 1,10 : left 1,10 : caption 1,"Titre:"
alpha 2 : top 2,40 : left 2,10 : caption 2,"Message:"

edit 11 : top 11,10 : left 11,100
memo 12 : top 12,40 : left 12,100

alpha 3 : top 3,140 : left 3,10 : caption 3,"Boutons:"
check 31 : top 31,140 : left 31,100 : caption 31,"Gauche"
check 32 : top 32,170 : left 32,100 : caption 32,"Milieu"
check 33 : top 33,200 : left 33,100 : caption 33,"Droit"
edit 41 : top 41,140 : left 41,180
edit 42 : top 42,170 : left 42,180
edit 43 : top 43,200 : left 43,180

alpha 4 : top 4,10 : left 4,400 : caption 4,"Image:"
edit 21 : top 21,10 : left 21,450 : width 21,200
' button 22 : top 22,10 : left 22,655 : width 22,30 : caption 22,"..."
' on_click 22,chercher
' open_dialog 23
' filter 23,"Fichiers image|*.bmp;*.jpg"

alpha 5 : top 5,50 : left 5,400 : caption 5,"Options:"
for i%=1 to 10
    n% = i% + 50
    m% = i% + 60
    check n% : top n%, 20+i%*30 : left n%,450
    edit m% : top m%, 20+i%*30 : left m%,490
next i%
check 75 : top 75,50 : left 75,650 : width 75,140 : caption 75,"Sélections multiples"

button 100 : top 100,380 : left 100,350 : caption 100,"Montrer"
on_click 100,montrer

text 21,nom_image$
mark_on 31
mark_on 75
end

chercher:
img$ = file_name$(23)
if img$="_" then img$ = ""
text 21,img$
return

montrer:
tit$ = text$(11)
txt$ = ""
for i%=1 to count(12)
    txt$ = txt$ + item_read$(12,i%)
    if i%<count(12) then txt$ = txt$ + chr$(13)+chr$(10)
next i%
boutons% = checked(31) + 2*checked(32) + 4*checked(33)
libs$ = text$(41) + ";" + text$(42) + ";" + text$(43) + ";"
nopt% = 0
for i%=1 to 10
    if checked(50+i%)=1
        nopt% = nopt% + 1
        libs$ = libs$ + text$(60+i%)
        if i%<10 then libs$ = libs$ + ";"
    end_if
next i%
if checked(75)=0 then nopt% = 0 - nopt%
img$ = text$(21)

dll_on "ShowModal.dll"
res% = dll_call6("ShowMessageModalEX",adr(tit$),adr(txt$),adr(img$),boutons%,nopt%,adr(libs$))
dll_off
resbtn% = BIN_AND(res%,7)
resopt% = INT(res%/8)
libs$ = ""
n% = 1
m% = 0
for i%=1 to 10
    if BIN_AND(resopt%,n%)>0
        if m%>0 then libs$ = libs$ + ","
        m% = m% + 1
        libs$ = libs$ + str$(i%)
    end_if
    n% = n% * 2
next i%
libs$ = "  dont choisies: "+str$(m%)+": "+libs$
message "Retour="+str$(res%)+" Bouton="+str$(resbtn%)+" Options="+str$(resopt%)+libs$
return

Ceci dit, j'avais expliqué au début qu'on peut obtenir facilement une fenêtre modale en Panoramic. En voici la preuve. Le programme ci-dessous montre un champ de saisie et un bouton. En cliquant sur le bouton, on affiche une fenêtre paramétrable (titre personnalisé, etc) réalisée entièrement en Panoramic, et en mode modal. on en peut PAS recliquer sur la fenêtre d'origine avant d'avoir fermé la fenêtre de message. Dès qu'on ferme celle-ci, on peut à nouveau travailler avec la fenêtre d'origine. Et on peut renouveller l'expérience à volonté. Voici le source:
Code:
label close10, afficher

edit 1 : top 1,10 : left 1,10
button 2 : top 2,40 : left 2,10 : caption 2,"Afficher"
on_click 2,afficher

' création de la form de message, immédiatement cachée
form 10 : hide 10 : top 10,200 : left 10,200
caption 10,"Ma fenêtre de messages"
on_close 10,close10
command_target_is 10
edit 11 : top 11,10 : left 11,10
command_target_is 0

end

close10:
' on réactive la form 0
active 0
return

afficher:
' on bloque form 0 et on affiche la form 10
inactive 0 : show 10
return
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Nouvelle DLL: ouvrir une fenêtre de messages paramétrable Empty
MessageSujet: Re: Nouvelle DLL: ouvrir une fenêtre de messages paramétrable   Nouvelle DLL: ouvrir une fenêtre de messages paramétrable EmptyMer 18 Jan 2012 - 16:18

C'est sûr. Merci Klaus. Bon, je pense que cette fonction couvrira la plupart des besoins Smile
Je teste ce soir (en principe, j'espère ne pas m'endormir avant ...)

Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Nouvelle DLL: ouvrir une fenêtre de messages paramétrable Empty
MessageSujet: Re: Nouvelle DLL: ouvrir une fenêtre de messages paramétrable   Nouvelle DLL: ouvrir une fenêtre de messages paramétrable EmptyJeu 19 Jan 2012 - 0:14

Sans doute un autre Ocx à enregistrer, j'ai encore une erreur à l’exécution.

Pour gagner du temps dans les tests, j'ai repris ton exemple (Excellent d'ailleurs pour tester) avec un programme utilisant des valeurs pré-enregistrée car quand je lance j'ai le message Exception EOleSysError in module Showmodal.dll...
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Nouvelle DLL: ouvrir une fenêtre de messages paramétrable Empty
MessageSujet: Re: Nouvelle DLL: ouvrir une fenêtre de messages paramétrable   Nouvelle DLL: ouvrir une fenêtre de messages paramétrable EmptyJeu 19 Jan 2012 - 1:23

Vérifie si tu as les fichiers suivants dans Windows\system32\:
MFCANS32.DLL
OC30.DLL
stdvcl32.dll
VCF132.OCX

et éventuellement, fais un REGSVR32 xxx avec ces noms de fichiers, par Démarrer/Exécuter.
En attendant, je continue à chercher.

EDIT
Egalement à vérifier:
stdvcl40.dll


C'est probablement lié à stdvcl32.dll.

Voici, sur un site décrivant la solution pour des programmes Delphi qui ne s'exécutent pas sur une machine sans Delphi:
Citation :

copy /-Y MFCANS32.DLL "C:\windows\system32\MFCANS32.DLL"
copy /-Y OC30.DLL "C:\windows\system32\OC30.DLL"
copy /-Y stdvcl32.dll "C:\windows\system32\stdvcl32.dll"
copy /-Y VCF132.OCX "C:\windows\system32\VCF132.OCX"
regsvr32 /s "C:\windows\system32\oc30.dll"
regsvr32 /s "C:\windows\system32\stdvcl32.dll"
regsvr32 /s "C:\windows\system32\vcf132.ocx"
Les commandes COPY sont juste pour info: c'est prévu après un téléchargement de ces fichiers pour les mettre dans le bon répertoire, avant d'utiliser regsvr32.

EDIT

Curieusement, j'utilise les mêmes modules dans Print.dll. L'as-tu utilisé ? Si l'une marche, l'autre devrait marcher en toute logique.

EDIT

Il y a une autre dépendance: OLEPRO32.DLL. Regarde si ce fichier est dans Windows\System32\.
Cette DLL devrait être présente, même en Windows 7, et n'a pas besoin d'être enregistrée par REGSVR32.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Nouvelle DLL: ouvrir une fenêtre de messages paramétrable Empty
MessageSujet: Re: Nouvelle DLL: ouvrir une fenêtre de messages paramétrable   Nouvelle DLL: ouvrir une fenêtre de messages paramétrable EmptyJeu 19 Jan 2012 - 10:35

Ci-dessus, j'ai donné plusieurs pistes pour débloquer la situation. Origine du problème: j'ai voulu pouvoir charger tout type d'images: les BMP, mais aussi les JPG, les GIF etc. Et ceci passe par une DLL OLE du système. Je n'y ai vu aucun mal parce que je fais la même chose dans Print.dll et dans WTP.exe (remplaçant de WinTextPrint.exe).

Ceci dit, pour ceux qui n'ont pas besoin des autres formats d'image, j'ai fait une version réduite de ShowModal.dll. Ce fichier s'appelle ShowModalBMP.dll. Il est en tout point identique à ShowModal.dll, sauf qu'il ne prend que le format BMP pour la fonction ShowMEssageModalEX. Pour l'utiliser, il suffit de remplacer
DLL_ON "ShowModal.dll"
par
DLL_ON "ShowModalBLP.dll"

Voici le programme de démo adapté à cette DLL (mêmes remarques d'utilisation que pour le programme posté antérieurement):
Code:
label montrer, chercher

dim nom_image$ : nom_image$ = "C:\Documents and Settings\Klaus\Mes documents\Mes projets Delphi\WinTextPrint\apprenants_1.bmp"

dim res%, i%, n%, m%, tit$, txt$, boutons%, lib1$, lib2$, lib3$
dim nopt%, img$, libs$, resbtn%, resopt%


width 0,800

alpha 1 : top 1,10 : left 1,10 : caption 1,"Titre:"
alpha 2 : top 2,40 : left 2,10 : caption 2,"Message:"

edit 11 : top 11,10 : left 11,100
memo 12 : top 12,40 : left 12,100

alpha 3 : top 3,140 : left 3,10 : caption 3,"Boutons:"
check 31 : top 31,140 : left 31,100 : caption 31,"Gauche"
check 32 : top 32,170 : left 32,100 : caption 32,"Milieu"
check 33 : top 33,200 : left 33,100 : caption 33,"Droit"
edit 41 : top 41,140 : left 41,180
edit 42 : top 42,170 : left 42,180
edit 43 : top 43,200 : left 43,180

alpha 4 : top 4,10 : left 4,400 : caption 4,"Image:"
edit 21 : top 21,10 : left 21,450 : width 21,200
' button 22 : top 22,10 : left 22,655 : width 22,30 : caption 22,"..."
' on_click 22,chercher
' open_dialog 23
' filter 23,"Fichiers image|*.bmp;*.jpg"

alpha 5 : top 5,50 : left 5,400 : caption 5,"Options:"
for i%=1 to 10
    n% = i% + 50
    m% = i% + 60
    check n% : top n%, 20+i%*30 : left n%,450
    edit m% : top m%, 20+i%*30 : left m%,490
next i%
check 75 : top 75,50 : left 75,650 : width 75,140 : caption 75,"Sélections multiples"

button 100 : top 100,380 : left 100,350 : caption 100,"Montrer"
on_click 100,montrer

text 21,nom_image$
mark_on 31
mark_on 75
end

chercher:
img$ = file_name$(23)
if img$="_" then img$ = ""
text 21,img$
return

montrer:
tit$ = text$(11)
txt$ = ""
for i%=1 to count(12)
    txt$ = txt$ + item_read$(12,i%)
    if i%<count(12) then txt$ = txt$ + chr$(13)+chr$(10)
next i%
boutons% = checked(31) + 2*checked(32) + 4*checked(33)
libs$ = text$(41) + ";" + text$(42) + ";" + text$(43) + ";"
nopt% = 0
for i%=1 to 10
    if checked(50+i%)=1
        nopt% = nopt% + 1
        libs$ = libs$ + text$(60+i%)
        if i%<10 then libs$ = libs$ + ";"
    end_if
next i%
if checked(75)=0 then nopt% = 0 - nopt%
img$ = text$(21)

dll_on "ShowModalBMP.dll"
res% = dll_call6("ShowMessageModalEX",adr(tit$),adr(txt$),adr(img$),boutons%,nopt%,adr(libs$))
dll_off
resbtn% = BIN_AND(res%,7)
resopt% = INT(res%/8)
libs$ = ""
n% = 1
m% = 0
for i%=1 to 10
    if BIN_AND(resopt%,n%)>0
        if m%>0 then libs$ = libs$ + ","
        m% = m% + 1
        libs$ = libs$ + str$(i%)
    end_if
    n% = n% * 2
next i%
libs$ = "  dont choisies: "+str$(m%)+": "+libs$
message "Retour="+str$(res%)+" Bouton="+str$(resbtn%)+" Options="+str$(resopt%)+libs$
return
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Nouvelle DLL: ouvrir une fenêtre de messages paramétrable Empty
MessageSujet: Re: Nouvelle DLL: ouvrir une fenêtre de messages paramétrable   Nouvelle DLL: ouvrir une fenêtre de messages paramétrable EmptyJeu 19 Jan 2012 - 14:04

J'essaye ce soir Klaus, je suis au boulot chez un client.
(Entre temps, je suis passé de mon portable XP au nouveau portable en Windows 7 ... Smile )
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Nouvelle DLL: ouvrir une fenêtre de messages paramétrable Empty
MessageSujet: Re: Nouvelle DLL: ouvrir une fenêtre de messages paramétrable   Nouvelle DLL: ouvrir une fenêtre de messages paramétrable EmptyJeu 19 Jan 2012 - 14:18

Pour compléter mon post du 18 Janvier à 16:01, voici une version du même programme Panoramic, mais avec une amélioration. Ce programme affiche une fenêtre de message paramétrable en cliquant sur le bouton "Afficher". Cette fenêtre s'affiche en mode modal, on ne peut donc pas cliquer dans la fenêtre d'origine. Maintenant, on peut aussi refuser de la fermer, même par la croix rouge, si le programme détecte que certaines conditions ne sont pas réunies. Dans mon exemple, il faut saisir "fini" dans le champ EDIT de cette fenêtre. Comme on ne peut pas bloquer la croix rouge, j'ai ajouté un test dans la routine on_close qui, en cas de refus de fermeture, lance un timer de 100 millisecondes, qui à son tour réaffiche la fenêtre, avec son contenu évidemment qui n'est pas perdu. Voici le code:
Code:
label close10, afficher
' timer pour réactiver la fenêtre de messages
timer 20 : timer_off 20 : timer_interval 20,100
on_timer 20,afficher

' création dela form 0
edit 1 : top 1,10 : left 1,10
button 2 : top 2,40 : left 2,10 : caption 2,"Afficher"
on_click 2,afficher

' création de la form de message, immédiatement cachée
form 10 : hide 10 : top 10,200 : left 10,200
caption 10,"Ma fenêtre de messages"
on_close 10,close10
command_target_is 10
edit 11 : top 11,10 : left 11,10
command_target_is 0

end

close10:
if text$(11)<>"fini"
' si on n'a pas la bonne valeur, il faut restaurer la fenêtre
    timer_on 20
    return
end_if
' on réactive la form 0
active 0
return

afficher:
timer_off 20
' on bloque form 0 et on affiche la form 10
inactive 0 : show 10
return
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Nouvelle DLL: ouvrir une fenêtre de messages paramétrable Empty
MessageSujet: Re: Nouvelle DLL: ouvrir une fenêtre de messages paramétrable   Nouvelle DLL: ouvrir une fenêtre de messages paramétrable EmptyJeu 19 Jan 2012 - 15:51

Génial
Revenir en haut Aller en bas
Contenu sponsorisé





Nouvelle DLL: ouvrir une fenêtre de messages paramétrable Empty
MessageSujet: Re: Nouvelle DLL: ouvrir une fenêtre de messages paramétrable   Nouvelle DLL: ouvrir une fenêtre de messages paramétrable Empty

Revenir en haut Aller en bas
 
Nouvelle DLL: ouvrir une fenêtre de messages paramétrable
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Messages-fenêtre
» Une trace paramétrable en 100 % Panoramic
» Menu paramétrable à laisser sur le bureau
» xmenu: menu paramétrable dynamiquement
» Menu avec icones entièrement paramétrable

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: Activité des sites créés par les Panoramiciens. :: Le site de Klaus-
Sauter vers: