2013-03-15 1 views
1

REBOL J'essaie actuellement de refaire une petite application que j'ai faite en Delphi. Cette application affiche une image de fond parmi n et un texte parmi n, mais je ne peux pas changer l'image ou le texte, le changement d'image et de texte est fait par le bouton >>.REBOL Changer l'image de fond et le texte

Voici le code simplifié sans la partie aléatoire parce que j'ai découvert à ce sujet:

Rebol[ 
Title: "You have a message !" 
Version: 1.0.0 
Needs: [1.2.115] 
] 

the-imag1: load %"/C/MyFile/Cours CD/Affiche/Images/Vague9.jpg" 
the-imag2: load %"/C/MyFile/Cours CD/Affiche/Images/Vague3.jpg" 
the-image: the-imag1 
text1: "Your banner text here" 

view xx1: layout [ 
size the-image/size 
b1: backdrop the-image 

at b1/offset + 110x120 
box 350x150 font-size 20 font-color black [align: 'center] text1 

    at b1/offset + 530x370 
    btn ">>" [the-image: the-imag2 ; new image 
       text1: "Hello"  ; new text 
       show xx1] effect [multiply 90] 
] 

Répondre

1

Vous redéfinissez le visage, non seulement le contenu. Redéfinissez simplement le champ dont vous avez besoin. Essayez ceci:

Rebol[ 
    Title: "You have a message !" 
    Version: 1.0.0 
    Needs: [1.2.115] 
] 

the-imag1: load %"/C/MyFile/Cours CD/Affiche/Images/Vague9.jpg" 
the-imag2: load %"/C/MyFile/Cours CD/Affiche/Images/Vague3.jpg" 
the-image: the-imag1 
text1: "Your banner text here" 

view xx1: layout [ 
size the-image/size 
b1: backdrop the-image 

at b1/offset + 110x120 
t1: text text1 

    at b1/offset + 530x370 
    btn ">>" [ 
     b1/image: the-imag2  ; new image 
     t1/text: "Hello"  ; new text 
     show xx1 
    ] effect [multiply 90] 
] 
+0

Merci, cela fonctionne, sauf que j'ai changé: text1/text by b1/text. Mais j'ai remarqué que le nouveau texte apparaît derrière le premier quand il devrait le remplacer. Probablement c'est la même chose avec l'image, s'accumulant au-dessus du premier ... Que peut-on faire pour éviter cela? –

+0

Ah, ma faute, je pensais que ** text1 ** est le visage du texte. Vous devez ajouter un nom pour votre texte (par exemple ** text-face: text1 **) et vous pouvez modifier le texte en utilisant ** text-face/text: "Hello" **. Si vous définissez le texte dans ** b1/text ** que lorsque vous placez le texte en arrière-plan (voir ** b1: backdrop the-image **), c'est pourquoi il est derrière le premier. – rebolek

+0

Ok, mais j'ai changé parce que je reçois cette erreur avec text1/text: ** Erreur de script: Valeur de chemin invalide: texte ** Où: func [face valeur] [b1/image: the-imag1 text1/text : "coucou" show XX1 ] ** proximité: text1/texte: "coucou" show XX1 >> –