PureBasic

Forums PureBasic
Nous sommes le Lun 26/Oct/2020 13:43

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 10 messages ] 
Auteur Message
 Sujet du message: Personnaliser l'aide de Purebasic
MessagePosté: Mar 22/Nov/2011 10:52 
Hors ligne

Inscription: Mer 14/Sep/2011 16:59
Messages: 941
Peut-être avez-vous envie de traduire en français les quelques pages encore en anglais de l'aide de Purebasic,
ou de ne pas attendre leurs traductions officielles lors de la prochaine mise à jour ?

Ou bien vous avez peut-être envie de personnaliser l'aide,
ou de lui adjoindre de nouvelles données ?


Ce petit tuto vous permettra de faire tout cela.

Tout d'abord ce tuto ne s'adresse qu'aux utilisateurs de Windows, désolé aux linuxiens et autres MacOSien ...

Qu'est-ce qu'un fichier .CHM ?
C'est un fichier composé de plusieurs fichier .HTML compressés et "compilés" avec un fichier-sommaire et un fichier-index.

Image


De quoi avons-nous besoin ?
Nous avons besoin du fichier d'aide de Purebasic que vous trouverez dans votre dossier Progam file (ou Programmes)
puis dans le dossier Purebasic. Son nom est PureBasic.chm

Vous aurez besoin d'un utilitaire fourni par Microsoft, le Microsoft HTML Help Workshop
à cette adresse : http://go.microsoft.com/fwlink/?LinkId=14188
En cas de problème, jetez un coup d'œil à cette adresse,
http://www.microsoft.com/downloads/details.aspx?familyid=00535334-c8a6-452f-9aa0-d597d16580cc&DisplayLang=en&displaylang=en#filelist
Téléchargez-le et installez-le avec les optons par défaut.

Je vous ai aussi concocté un fichier rar avec tout ce qu'il faut.

(Sous linux et sous MacOS, vous utiliserez chmviewer ici
http://www.macupdate.com/info.php/id/13835
ou là :
http://www.herdsoft.com/linux/themen/chmviewer.html)


La personnalisation se fera en 3 phases :

Citation:
    PHASE N°1 : La décompilation.
    PHASE N°2 : La traduction.
    PHASE N°3 : La recompilation.



Citation:
PHASE N°1 : La décompilation.


Tout d'abord, nous allons décompiler le fichier Purebasic.chm afin de récupérer les fichiers .html,
le fichier-sommaire et le fichier-index.

Pour cela, créez un répertoire avec le Purebasic.chm à l'intérieur.

Vous avez dans votre dossier Windows un exécutable qui s'appelle hh.exe qui va s'occuper de la décompilation.
Créez un fichier decompile.bat avec le bloc-note et ajouter la ligne suivante :
hh.exe -decompile <chemin du dossier final> <chemin du dossier source + Purebasic.chm>

decompile.bat :
Code:
hh.exe -decompile decompile Purebasic.chm


Il se peut que votre Windows crée à votre insu un fichier .bat.txt qui est un simple fichier texte qui ne s'exécutera pas.
Il faut aller dans le panneau de configuration, options de dossier puis affichage et décocher "masquer les extensions des fichiers dont le type est connu".
Vous aurez aussi des problèmes si vous utilisez un chemin avec des espaces.
Par exemple c:\program Files\...Il faut utiliser les guillemets "".


Pour vous faciliter la tâche, j'ai créé un fichier batch qui s'occupe de tout, il s'appelle "decompile.bat",
mettez-le dans le même dossier que Purebasic.chm et double-cliquez dessus.
Image

La décompilation prend quelques secondes et le dossier "decompile" apparaît.
Image

À l'intérieur se trouve le trésor...
Image



Citation:
PHASE N°2 : La traduction.

Nous allons traduire les pages "CanvasGadget.html " et " CanvasOutput.html " du dossier "gadget".

Image

Ici, je vous laisse le choix de votre éditeur html, il existe notepad++, compozer, etc...
(voir ici http://www.01net.com/telecharger/windows/Internet/editeur_de_site/)

Comme c'est une simple traduction, nous n'aurons pas à éditer le sommaire ni l'index qui sont de simple fichier xml que l'on peut ouvrir avec le bloc-note, par exemple, ou par le html workshop de Microsoft, le petit utilitaire que vous venez juste d'installer...

Je vous ai encore une fois mâché le travail et vous trouverez les 2 fichiers déjà traduits dans le rar et leur code html se trouve dans les posts ci-dessous.



Citation:
PHASE N°3 : La recompilation.

Il existe la méthode rapide ou la méthode longue, au choix.

La méthode rapide : Copiez le fichier hhc.exe du dossier program files\ HTML Help Workshop\ dans votre dossier "decompile".
Copiez aussi le fichier "recompile.bat" et Purebasic.hhp qui provient du rar.
Double-cliquer sur recompile et le nouveau fichier PureBasic.chm apparaît.

Le fichier recompile.bat contient la commande :
Code:
hhc Purebasic.hhp


Le fichier Purebasic.hhp contient le texte :
Code:
[OPTIONS]
Compatibility=1.1 or later
Compiled file=Purebasic.chm
Contents file=Table of Contents.hhc
Default topic=Reference\reference.html
Display compile progress=No
Index file=Index.hhk
Language=0x40c Français (France)


[FILES]


[INFOTYPES]



Image

Recompilation en cours...
Image

Et voilà le résultat.
Image

Image


Quant à la version longue, je préfère vous renvoyer sur le tuto ad-hoc à cette adresse
http://www.siteduzero.com/tutoriel-3-34738-creer-un-fichier-chm.html

Pour qui veut, je peut vous envoyer mon Purebasic.chm, il pèse 2.16 Mo.
Pour le fichier .rar, je peux vous l'envoyer par mail.

Le code html de "CanvasGadget.html"
Code:
<html><head><title>CanvasGadget</title><style type="text/css">
table.parameters { border-spacing: 0px; border-style: none; border-collapse: collapse; }
table.parameters td { border-width: 1px; padding: 6px; border-style: solid; border-color: gray; vertical-align: top; }
</style>
</head>
<body bgcolor="#FFFFDF" link="#009999" vlink="#006666" alink="#006666">
<p align="center"><font face="Arial" size="2"><b><font size="4">CanvasGadget()</font></b></font></p>
<p><font face="Arial" size="2"><b>Syntaxe</b></font></p><blockquote>
<font face="Arial" size="2">Resultat = <font color="#006666"><b>CanvasGadget</b></font>(#Gadget, x, y, <font size="2" face="Arial">Largeur, Hauteur</font><font face="Arial" size="2"> [, Options])<br>&nbsp;</font></font></blockquote>

<font face="Arial" size="2"><font face="Arial" size="2"><b>Description</b><br></font></font><blockquote>

<font face="Arial" size="2"><font face="Arial" size="2">Crée un canvas blanc
    par défaut <font size="2" face="Arial">dans la GadgetList en cours.
Si <a href="file:///F:/zTemp/chm/purebasic/decompile/reference/purebasic_objects.html">#PB_Any</a> est utilisé pour le paramètre '#Gadget', le numéro du nouveau gadget sera renvoyé dans 'Resultat'.
#Gadget sera la valeur retournée par la fonction <a href="file:///F:/zTemp/chm/purebasic/decompile/window/eventgadget.html">EventGadget()</a>. x et y sont les coordonnées de la position du
canvas dans la fenêtre. 'Largeur' et 'Hauteur' sont ses dimensions<br> 
    </font></font></font><p><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2">Un canvas est une surface d'affichage et
    de dessin utilisant le clavier et la souris.

    </font></font></font></p>
</blockquote>
<p style="margin-left:40;"><font face="Arial" size="2"><font face="Arial" size="2"><font size="2" face="Arial">Le paramètre facultatif 'Options' peut être une combinaison des constantes suivantes:


</font></font></font><p>
<pre><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Courier New, Courier, mono" size="2"><font color="#924B72">        #PB_Canvas_Border</font>   : Dessine une bordure autour du gadget.
        <font color="#924B72">#PB_Canvas_ClipMouse</font>: Capture la souris tant qu'un bouton est appuyé. <br>        <font color="#924B72">#PB_Canvas_Keyboard</font> : Capture les évènements et le focus du clavier.
        <font color="#924B72">#PB_Canvas_DrawFocus</font>: Dessine un rectangle de focus.</font></font></font></font></pre><p style="margin-left:40;"><font face="Arial" size="1"><font face="Arial"><font face="Arial">P</font></font>our
gérer le focus, il est aussi possible d'utiliser<font face="Arial"><font face="Arial">
l'option  </font></font></font><font face="Arial" size="1" color="#924B72">#PB_Canvas_Keyboard
</font><font face="Arial" size="1"><font face="Arial"><font face="Arial">avec
les évènements&nbsp;</font></font></font><font color="#924B72" face="Arial" size="1">#PB_EventType_Focus</font><font face="Arial" size="1"> et
&nbsp;</font><font color="#924B72" face="Arial" size="1">#PB_EventType_LostFocus
</font><font face="Arial" size="1">pour
afficher une indication visuelle sur le gadget.</font></p>
<p style="margin-left:40;"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2">Les évènements sont :
    </font></font></font></font><blockquote>

<pre><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Courier New, Courier, mono" size="2">  <font color="#924B72">#PB_EventType_MouseEnter</font>      : Le curseur de la souris entre dans le canvas
  <font color="#924B72">#PB_EventType_MouseLeave</font>      : Le curseur de la souris quitte le canvas
  <font color="#924B72">#PB_EventType_MouseMove</font>       : Le curseur de la souris bouge
  <font color="#924B72">#PB_EventType_MouseWheel</font>      : La molette centale de la souris bouge (avec l'option</font></font></font></font></font><font face="Courier New,Courier" size="2"> </font><font face="Courier New,Courier" size="2" color="#924B72">#PB_Canvas_Keyboard </font><font face="Courier New,Courier" size="2">pour Windows uniquement)</font><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Courier New, Courier, mono" size="2">
  <font color="#924B72">#PB_EventType_LeftButtonDown</font>  : Bouton gauche pressé
  <font color="#924B72">#PB_EventType_LeftButtonUp</font>    : Bouton gauche relaché
  <font color="#924B72">#PB_EventType_LeftClick</font>       : Clic gauche
  <font color="#924B72">#PB_EventType_LeftDoubleClick</font> : Double-clic gauche
  <font color="#924B72">#PB_EventType_RightButtonDown</font> : Bouton droit pressé
  <font color="#924B72">#PB_EventType_RightButtonUp</font>   : Bouton droit relaché
  <font color="#924B72">#PB_EventType_RightClick</font>      : Clic droit
  <font color="#924B72">#PB_EventType_RightDoubleClick</font>: Double-clic droit
  <font color="#924B72">#PB_EventType_MiddleButtonDown</font>: Bouton central pressé
  <font color="#924B72">#PB_EventType_MiddleButtonUp</font>  : TBouton central relaché
  <font color="#924B72">#PB_EventType_Focus</font>           : Focus du clavier acquis
  <font color="#924B72">#PB_EventType_LostFocus</font>       : Focus du clavier perdu
  <font color="#924B72">#PB_EventType_KeyDown</font>         : Touche pressée (avec l'option</font></font></font></font></font><font face="Courier New,Courier" size="2"> </font><font face="Courier New,Courier" size="2" color="#924B72">#PB_Canvas_Keyboard</font><font face="Courier New,Courier" size="2">) </font><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Courier New, Courier, mono" size="2">
  <font color="#924B72">#PB_EventType_KeyUp</font>           : Touche relachée (avec l'option</font></font></font></font></font><font face="Courier New,Courier" size="2"> </font><font face="Courier New,Courier" size="2" color="#924B72">#PB_Canvas_Keyboard</font><font face="Courier New,Courier" size="2">)</font><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Courier New, Courier, mono" size="2">
  <font color="#924B72">#PB_EventType_Input</font>           : Un texte a été entré (avec l'option</font></font></font></font></font><font face="Courier New,Courier" size="2"> </font><font face="Courier New,Courier" size="2" color="#924B72">#PB_Canvas_Keyboard</font><font face="Courier New,Courier" size="2">)</font></pre>
<font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2">Les
    évènements <font face="Courier New, Courier, mono" size="2"><font color="#924B72">#PB_EventType_LeftButtonUp,
    #PB_EventType_RightButtonUp </font>et <font color="#924B72">#PB_EventType_MiddleButtonUp</font></font>
sont executés si le bouton a été préssé dans le canvas et relaché à l'exterieur
    du canvas sauf pour  Mac OSX. Dans ce cas, une solution consiste en l'utilisation de
    l'évènement
&nbsp;<font color="#924B72">#PB_EventType_MouseLeave</font> en remplacement ou de
    capturer la souris dans le gadget tant qu'un bouton reste pressé (</font></font></font></font><font face="Arial,Courier" size="2"><font size="2"><font size="2"><font size="2"><font color="#924B72">#PB_Canvas_ClipMouse</font></font></font></font></font><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2">).


    </font></font></font></font><p>&nbsp;</p>
</blockquote>
<p style="margin-left:41;"><font face="Arial" size="2">Les commandes suivantes peuvent être utilisées:</font><blockquote>
    <p><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2">-
    <a href="gadgettooltip.html">GadgetToolTip()</a>: Mini aide.<br>- <a href="canvasoutput.html">CanvasOutput()</a>: Dessine
    sur le canvas de façon persistante (inutile d'utiliser l'évènement <font color="#924B72">#PB_Event_Repaint)</font>.

<br>
- <a href="getgadgetattribute.html">GetGadgetAttribute()</a> avec les attributs
    suivants:
</font></font></font></font></p>
    <p><font face="Arial" size="2"><b>Souris:</b><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#924B72">#PB_Canvas_MouseX</font>, <font color="#924B72">#PB_Canvas_MouseY:
    </font>Renvoie les coordonnées &nbsp;X et Y de la souris.
        </font></font></font></font></p>
<font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font color="#924B72">&nbsp;&nbsp;&nbsp;&nbsp;#PB_Canvas_Buttons:
    </font>Renvoie l'état des boutons de la souris: </font></font></font></font><font size="2" face="Arial">(1 = pressé, 0 = normal)</font><blockquote>

<pre><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Courier New, Courier, mono" size="2">  <font color="#924B72">#PB_Canvas_LeftButton</font>  : Bouton gauche.
  <font color="#924B72">#PB_Canvas_RightButton</font> : Bouton droit.
  <font color="#924B72">#PB_Canvas_MiddleButton</font>: Bouton du milieu.
</font></font></font></font></font></pre>
</blockquote>


    <p style="text-indent:-217; margin-left:217;"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font color="#924B72">&nbsp;&nbsp;&nbsp;&nbsp;#PB_Canvas_WheelDelta:</font>
    Action de la molette centrale de la souris. Renvoie un nombre entier positif pour un mouvement vers le haut (éloignement)et négatif pour un mouvement vers le bas (rapprochement) sinon renvoie 0.
       
    </font></font></font></font><p><font face="Arial" size="2"><b>Clavier:<br></b><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font color="#924B72">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#PB_Canvas_Modifiers:
    </font>Renvoie l'état des touches de contrôle du clavier: </font></font></font></font><font size="2" face="Arial">(1 = pressé, 0 = normal)</font><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2">
        </font></font></font></font></p>
<blockquote>

<pre><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Courier New, Courier, mono" size="2">  <font color="#924B72">#PB_Canvas_Shift</font>  : Touche 'Majuscule' ('shift').
  <font color="#924B72">#PB_Canvas_Alt</font>    : Touche 'alt'.
  <font color="#924B72">#PB_Canvas_Control</font>: Touche 'control'.
  <font color="#924B72">#PB_Canvas_Command</font>: Touche 'command' (ou &quot;pomme&quot;). (Mac OSX seulement)
</font></font></font></font></font></pre>
</blockquote>


    <p style="text-indent:-161; margin-left:161;"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font color="#924B72">&nbsp;&nbsp;&nbsp;&nbsp;#PB_Canvas_Key:</font>
    Renvoie la touche pressée ou relachée lors des évènements <font color="#924B72">#PB_EventType_KeyDown</font> ou
    &nbsp;<font color="#924B72">#PB_EventType_KeyUp</font>.
La valeur retournée est une valeur <font color="#924B72">#PB_Shortcut_... </font>utilisée
    avec la fonction &nbsp;<a href="../window/addkeyboardshortcut.html">AddKeyboardShortcut()</a>. Attention,
    pour renvoyer un texte, il est préférable d'utiliser l'évènement &nbsp;<font color="#924B72">#PB_EventType_Input</font> avec
    l'attribut <font color="#924B72">#PB_Canvas_Input</font> qui prend en compte
    les touches de contrôle&nbsp;et
    autres combinaisons de touches.
       
    </font></font></font></font><p style="text-indent:-169; margin-left:169;"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font color="#924B72">&nbsp;&nbsp;&nbsp;&nbsp;#PB_Canvas_Input:</font>
    Renvoie le code du caractère envoyé après l'évènement
<font color="#924B72">#PB_EventType_Input</font>. Utiliser la fonction &nbsp;<a href="../string/chr.html">Chr()</a> pour
    le transformer en string.
       
    </font></font></font></font><p><font face="Arial" size="2"><b>Autre:

</b><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><br>
&nbsp;&nbsp;&nbsp;&nbsp;<font color="#924B72">#PB_Canvas_Image:</font>
    Renvoie un <a href="../image/imageid.html">ImageID</a> (permet d'utiliser
    la fonction <a href="../2ddrawing/drawimage.html">DrawImage()</a>).<br> &nbsp;&nbsp;&nbsp;&nbsp;Attention
    le&nbsp;redimensionnement et le dessin change l'<a href="../image/imageid.html">ImageID</a>.

    </font></font></font></font><p><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font color="#924B72">&nbsp;&nbsp;&nbsp;&nbsp;#PB_Canvas_Clip:</font>
    Renvoie 0 si le clippage de la souris a échoué, non nulle sinon.
       
    </font></font></font></font><p><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font color="#924B72">&nbsp;&nbsp;&nbsp;&nbsp;#PB_Canvas_Cursor:</font>
   
    Renvoie le curseur courant ou -1 si le gadget utilise un curseur non standard.</font></font></font></font>
    <p><font face="Arial" size="2" color="#924B72">&nbsp;&nbsp;&nbsp;&nbsp;#PB_Canvas_CustomCursor:
   
    </font><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2">Renvoie le
    handle du cursor non standard ou 0 si le curseur est standard.
        </font></font></font></font></p>
    <p>&nbsp;</p>
<font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2">- <a href="setgadgetattribute.html">SetGadgetAttribute()</a> avec
    les attributs suivants:

    </font></font></font></font><p style="text-indent:-179; margin-left:179;">
<font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2">&nbsp;&nbsp;&nbsp;&nbsp;<font color="#924B72">#PB_Canvas_Image:</font>
    Attribut un <a href="../image/imageid.html">ImageID</a> </font></font></font>au
    canvas<font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2">. Le gadget fait
    une copie de l'image.<br>Utiliser <a href="../2ddrawing/startdrawing.html">StartDrawing()</a>, <a href="canvasoutput.html">CanvasOutput()</a> and <a href="../2ddrawing/drawimage.html">DrawImage()</a> pour
    dessiner l'image sur le canvas.</font></font></font></font></p>
    <p style="text-indent:-161; margin-left:162;"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2">&nbsp;&nbsp;&nbsp;&nbsp;<font color="#924B72">#PB_Canvas_Clip:</font> Si
    l'attribut est non nul, le curseur de la souris sera confiné au canvas. 0
    enlève le confinement (clippage).
Utiliser 
<font color="#924B72">#PB_Canvas_ClipMouse</font> pour ne pas piéger la souris
    dans le canvas.
        </font></font></font></font></p>
<font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font color="#924B72">&nbsp;&nbsp;&nbsp;&nbsp;#PB_Canvas_Cursor:</font>
    Change le curseur quand la souris survole le canvas:
        </font></font></font></font><blockquote>

<pre><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Courier New, Courier, mono" size="2">  <font color="#924B72">#PB_Cursor_Default</font>        : flèche par défaut
  <font color="#924B72">#PB_Cursor_Cross</font>          : croix
  <font color="#924B72">#PB_Cursor_IBeam</font>          : I (point d'insertion)
  <font color="#924B72">#PB_Cursor_Hand</font>           : main
  <font color="#924B72">#PB_Cursor_Busy</font>           : sablier ou montre
  <font color="#924B72">#PB_Cursor_Denied</font>         : interdit ou X
  <font color="#924B72">#PB_Cursor_Arrows</font>         : flèche dans 4 directions (sauf Mac OSX)
  <font color="#924B72">#PB_Cursor_LeftRight</font>      : flèche gauche-droite
  <font color="#924B72">#PB_Cursor_UpDown</font>         : flèche haut-bas
  <font color="#924B72">#PB_Cursor_LeftUpRightDown</font>: flèche diagonale (Windows seulement)
  <font color="#924B72">#PB_Cursor_LeftDownRightUp</font>: flèche diagonale (Windows seulement))
  <font color="#924B72">#PB_Cursor_Invisible</font>      : invisible
</font></font></font></font></font></pre>
</blockquote>


    <p style="text-indent:3;"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font color="#924B72">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#PB_Canvas_CustomCursor:</font>
    Utilisation d'un curseur non standard (personnalisé):
        </font></font></font></font><blockquote>

<blockquote>

<font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2">Windows: un handle
            HCURSOR 
<br>
Linux: un pointeur GtkCursor 
<br>
Mac OSX: un pointeur vers une structure Cursor 
            </font></font></font></font></blockquote>

</blockquote>




    &nbsp;</blockquote><p><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><b>Exemple</b></font></font></font></font></p><blockquote>

<pre><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Courier New, Courier, mono" size="2">  <b><font color="#006666">If</font></b> <font color="#006666">OpenWindow</font>(0, 0, 0, 220, 220, &quot;CanvasGadget&quot;, <font color="#924B72">#PB_Window_SystemMenu</font> | <font color="#924B72">#PB_Window_ScreenCentered</font>)
<font color="#006666">    CanvasGadget</font>(0, 10, 10, 200, 200)
   
    <b><font color="#006666">Repeat</font></b>
      Event =<font color="#006666"> WaitWindowEvent</font>()
         
      <b><font color="#006666">If</font></b> Event = <font color="#924B72">#PB_Event_Gadget</font> <b><font color="#006666">And</font></b> <font color="#006666">EventGadget</font>() = 0
        <b><font color="#006666">If</font></b> <font color="#006666">EventType</font>() = <font color="#924B72">#PB_EventType_LeftButtonDown</font> <b><font color="#006666">Or</font></b> (<font color="#006666">EventType</font>() = <font color="#924B72">#PB_EventType_MouseMove</font> <b><font color="#006666">And</font></b> <font color="#006666">GetGadgetAttribute</font>(0, <font color="#924B72">#PB_Canvas_Buttons</font>) &amp; <font color="#924B72">#PB_Canvas_LeftButton</font>)
          <b><font color="#006666">If</font></b> <font color="#006666">StartDrawing</font>(<font color="#006666">CanvasOutput</font>(0))
            x =<font color="#006666"> GetGadgetAttribute</font>(0, <font color="#924B72">#PB_Canvas_MouseX</font>)
            y =<font color="#006666"> GetGadgetAttribute</font>(0, <font color="#924B72">#PB_Canvas_MouseY</font>)
<font color="#006666">            Circle</font>(x, y, 10,<font color="#006666"> RGB</font>(<font color="#006666">Random</font>(255),<font color="#006666"> Random</font>(255),<font color="#006666"> Random</font>(255)))
<font color="#006666">            StopDrawing</font>()
          <b><font color="#006666">EndIf</font></b>
        <b><font color="#006666">EndIf</font></b>
      <b><font color="#006666">EndIf</font></b>   
     
    <b><font color="#006666">Until</font></b> Event = <font color="#924B72">#PB_Event_CloseWindow</font>
  <b><font color="#006666">EndIf</font></b>

</font></font></font></font></font></pre>

<p><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><img src="../HelpPictures/canvasgadget.png"></font></font></font></font></p>

</blockquote><p><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><b>Exemple</b></font></font></font></font></p><blockquote>
<font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><a href="../Examples/CanvasGadget.pb.html">CanvasGadget.pb</a>


    </font></font></font></font></blockquote><p><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><b>Voir</b></font></font></font></font></p><blockquote>

<font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><a href="canvasoutput.html">CanvasOutput()</a>, <a href="getgadgetattribute.html">GetGadgetAttribute()</a>, <a href="setgadgetattribute.html">SetGadgetAttribute()</a>, <a href="../window/eventtype.html">EventType()</a>, <a href="../2ddrawing/startdrawing.html">StartDrawing()</a>

    </font></font></font></font></Blockquote><p><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><b>OS Supportés </b></font></font></font></font><Blockquote><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2">Tous</font></font></font></font></Blockquote><center><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><font face="Arial" size="2"><-> <a href=calendargadget.html>CalendarGadget()</a> - <a href=index.html>Gadget Index</a> - <a href="canvasoutput.html">CanvasOutput()</a> -&gt;

    </font></font></font></font></body></html>


-------------------------------------------------------------------------------------------------------------------------------------------

Le code html de "CanvasOutput.html"
Code:
<html><head><title>CanvasOutput</title><style type="text/css">
table.parameters { border-spacing: 0px; border-style: none; border-collapse: collapse; }
table.parameters td { border-width: 1px; padding: 6px; border-style: solid; border-color: gray; vertical-align: top; }
</style>
</head>
<body bgcolor="#FFFFDF" link="#009999" vlink="#006666" alink="#006666">
<p align="center"><font face="Arial" size="2"><b><font size="4">CanvasOutput()</font></font></b></p>
<p><font face="Arial" size="2"><b>Syntaxe</font></b></p><blockquote>
<font face="Arial" size="2">OutputID = <font color="#006666"><b>CanvasOutput</b></font>(#Gadget)</font></blockquote>

<p><font face="Arial" size="2"><b>Description</font></b></p>
<blockquote>

<font face="Arial" size="2">Renvoie le OutputID du  Canvas afin d'effectuer
    des opération 2D.

    </font></blockquote><p><font face="Arial" size="2"><b>Arguments</font></b></p>
<blockquote>
    <font face="Arial" size="2">#Gadget doit être un</font><i>  </i><a href="canvasgadget.html"><font face="Arial" size="2">CanvasGadget()</font></a>.
</blockquote>
<p><font face="Arial" size="2"><b>Valeur de retour</font></b></p><blockquote>

<font face="Arial" size="2">Renvoie un ouput ID ou 0 si le dessin n'est pas
    possible. Cette valeur devrait être envoyée à
<a href="../2ddrawing/startdrawing.html">StartDrawing()</a> pour initier l'opération
    de dessin. Elle n'est valable que pour une seule opération de dessin (ne
    peut être réutilisée).

    </font></blockquote><p><font face="Arial" size="2"><b>Remarques</font></b></p><blockquote>

<font face="Arial" size="2">Le <a href="canvasgadget.html">CanvasGadget()</a> utilise
    un  double buffer. Le dessin n'est rendu visible et sans scintillement qu'aptrès
    la commande <a href="../2ddrawing/stopdrawing.html">StopDrawing()</a>.

    </font></blockquote><p><font face="Arial" size="2"><b>Voir aussi</font></b></p><blockquote>

<font face="Arial" size="2"><a href="../2ddrawing/startdrawing.html">StartDrawing()</a>, <a href="canvasgadget.html">CanvasGadget()</a>

    </font></Blockquote><p><font face="Arial" size="2"><b>OS Supportés </font></b><Blockquote><font face="Arial" size="2">Tous</font></Blockquote><center><font face="Arial" size="2"><-> <a href="canvasgadget.html">CanvasGadget()</a> - <a href=index.html>Gadget Index</a> - <a href=checkboxgadget.html>CheckBoxGadget()</a> -&gt;

    </font></body></html>


Mesa.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Personnaliser l'aide de Purebasic
MessagePosté: Mar 22/Nov/2011 12:20 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 25/Avr/2008 11:14
Messages: 1406
bonjour Mesa
vraiment sympa, merci pour le partage
comme tu propose la version *.rar .
voilà : kernadec@hotmail.fr

merci beaucoup.

Cordialement


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Personnaliser l'aide de Purebasic
MessagePosté: Mar 22/Nov/2011 12:44 
Hors ligne

Inscription: Mer 21/Jan/2004 17:48
Messages: 5164
Pour mettre la doc à jour, il y a une autre méthode qui est pas mal aussi :P

http://www.purebasic.fr/french/viewtopic.php?f=4&t=10951

J'ai juste besoin du texte normal, pas du html.

_________________
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Personnaliser l'aide de Purebasic
MessagePosté: Mar 22/Nov/2011 12:51 
Hors ligne
Avatar de l’utilisateur

Inscription: Lun 17/Déc/2007 12:44
Messages: 1669
Bonjour,

Je trouve cela très fort (je parle pas du tuto :)), j'ai voulu télécharger htmlhelp.exe (chez microsoft) est le resultat IE me dit que c'est très dangereux lollll

Image

Cordialement,
GallyHC

_________________
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Personnaliser l'aide de Purebasic
MessagePosté: Mar 22/Nov/2011 13:29 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 09/Oct/2005 16:51
Messages: 9027
Jolie tuto et joli boulot !
Je veux bien ton rar aussi.


Merci ;)

_________________
~~~~Règles du forum ~~~~
.: Ar-S :. Tour + portable W10 x64 PB 5.6x / 5.7x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB


Dernière édition par Ar-S le Dim 11/Nov/2012 17:45, édité 1 fois.

Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Personnaliser l'aide de Purebasic
MessagePosté: Mar 22/Nov/2011 18:31 
Hors ligne
Avatar de l’utilisateur

Inscription: Sam 23/Sep/2006 18:32
Messages: 6714
Localisation: Isere
Oui merci beaucoup pour ce super TUTO 8)

_________________
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Personnaliser l'aide de Purebasic
MessagePosté: Mar 22/Nov/2011 18:56 
Hors ligne

Inscription: Mer 14/Sep/2011 16:59
Messages: 941
Merci bien à tous.

rar envoyés :D

===========================================
Le Texte de canvasgadget :
==================
CanvasGadget()

Syntaxe

Resultat = CanvasGadget(#Gadget, x, y, Largeur, Hauteur [, Options])


Description

Crée un canvas blanc par défaut dans la GadgetList en cours. Si #PB_Any est utilisé pour le paramètre '#Gadget', le numéro du nouveau gadget sera renvoyé dans 'Resultat'. #Gadget sera la valeur retournée par la fonction EventGadget(). x et y sont les coordonnées de la position du canvas dans la fenêtre. 'Largeur' et 'Hauteur' sont ses dimensions

Un canvas est une surface d'affichage et de dessin utilisant le clavier et la souris.

Le paramètre facultatif 'Options' peut être une combinaison des constantes suivantes:

#PB_Canvas_Border : Dessine une bordure autour du gadget.
#PB_Canvas_ClipMouse: Capture la souris tant qu'un bouton est appuyé.
#PB_Canvas_Keyboard : Capture les évènements et le focus du clavier.
#PB_Canvas_DrawFocus: Dessine un rectangle de focus.

Pour gérer le focus, il est aussi possible d'utiliser l'option #PB_Canvas_Keyboard avec les évènements #PB_EventType_Focus et #PB_EventType_LostFocus pour afficher une indication visuelle sur le gadget.

Les évènements sont :

#PB_EventType_MouseEnter : Le curseur de la souris entre dans le canvas
#PB_EventType_MouseLeave : Le curseur de la souris quitte le canva
#PB_EventType_MouseMove : Le curseur de la souris bouge
#PB_EventType_MouseWheel : La molette centale de la souris bouge (avec l'option #PB_Canvas_Keyboard pour Windows uniquement)
#PB_EventType_LeftButtonDown : Bouton gauche pressé
#PB_EventType_LeftButtonUp : Bouton gauche relaché
#PB_EventType_LeftClick : Clic gauche
#PB_EventType_LeftDoubleClick : Double-clic gauche
#PB_EventType_RightButtonDown : Bouton droit pressé
#PB_EventType_RightButtonUp : Bouton droit relaché
#PB_EventType_RightClick : Clic droit
#PB_EventType_RightDoubleClick: Double-clic droit
#PB_EventType_MiddleButtonDown: Bouton central pressé
#PB_EventType_MiddleButtonUp : TBouton central relaché
#PB_EventType_Focus : Focus du clavier acquis
#PB_EventType_LostFocus : Focus du clavier perdu
#PB_EventType_KeyDown : Touche pressée (avec l'option #PB_Canvas_Keyboard)
#PB_EventType_KeyUp : Touche relachée (avec l'option #PB_Canvas_Keyboard)
#PB_EventType_Input : Un texte a été entré (avec l'option #PB_Canvas_Keyboard)

Les évènements #PB_EventType_LeftButtonUp, #PB_EventType_RightButtonUp et #PB_EventType_MiddleButtonUp sont executés si le bouton a été préssé dans le canvas et relaché à l'exterieur du canvas sauf pour Mac OSX. Dans ce cas, une solution consiste en l'utilisation de l'évènement #PB_EventType_MouseLeave en remplacement ou de capturer la souris dans le gadget tant qu'un bouton reste pressé (#PB_Canvas_ClipMouse).



Les commandes suivantes peuvent être utilisées:

- GadgetToolTip(): Mini aide.
- CanvasOutput(): Dessine sur le canva de façon persistante (inutile d'utiliser l'évènement #PB_Event_Repaint).
- GetGadgetAttribute() avec les attributs suivants:

Souris:
#PB_Canvas_MouseX, #PB_Canvas_MouseY: Renvoie les coordonnées X et Y de la souris.
#PB_Canvas_Buttons: Renvoie l'état des boutons de la souris: (1 = pressé, 0 = normal)

#PB_Canvas_LeftButton : Bouton gauche.
#PB_Canvas_RightButton : Bouton droit.
#PB_Canvas_MiddleButton: Bouton du milieu.

#PB_Canvas_WheelDelta: Action de la molette centrale de la souris. Renvoie un nombre entier positif pour un mouvement vers le haut (éloignement)et négatif pour un mouvement vers le bas (rapprochement) sinon renvoie 0.

Clavier:
#PB_Canvas_Modifiers: Renvoie l'état des touches de contrôle du clavier: (1 = pressé, 0 = normal)

#PB_Canvas_Shift : Touche 'Majuscule' ('shift').
#PB_Canvas_Alt : Touche 'alt'.
#PB_Canvas_Control: Touche 'control'.
#PB_Canvas_Command: Touche 'command' (ou "pomme"). (Mac OSX seulement)

#PB_Canvas_Key: Renvoie la touche pressée ou relachée lors des évènements #PB_EventType_KeyDown ou #PB_EventType_KeyUp. La valeur retournée est une valeur #PB_Shortcut_... utilisée avec la fonction AddKeyboardShortcut(). Attention, pour renvoyer un texte, il est préférable d'utiliser l'évènement #PB_EventType_Input avec l'attribut #PB_Canvas_Input qui prend en compte les touches de contrôle et autres combinaisons de touches.

#PB_Canvas_Input: Renvoie le code du caractère envoyé après l'évènement #PB_EventType_Input. Utiliser la fonction Chr() pour le transformer en string.

Autre:
#PB_Canvas_Image: Renvoie un ImageID (permet d'utiliser la fonction DrawImage()).
Attention le redimensionnement et le dessin change l'ImageID.

#PB_Canvas_Clip: Renvoie 0 si le clippage de la souris a échoué, non nulle sinon.

#PB_Canvas_Cursor: Renvoie le curseur courant ou -1 si le gadget utilise un curseur non standard.

#PB_Canvas_CustomCursor: Renvoie le handle du cursor non standard ou 0 si le curseur est standard.


- SetGadgetAttribute() avec les attributs suivants:

#PB_Canvas_Image: Attribut un ImageID au canvas. Le gadget fait une copie de l'image.
Utiliser StartDrawing(), CanvasOutput() and DrawImage() pour dessiner l'image sur le canvas.

#PB_Canvas_Clip: Si l'attribut est non nul, le curseur de la souris sera confiné au canvas. 0 enlève le confinement (clippage). Utiliser #PB_Canvas_ClipMouse pour ne pas piéger la souris dans le canvas.
#PB_Canvas_Cursor: Change le curseur quand la souris survole le canvas:

#PB_Cursor_Default : flèche par défaut
#PB_Cursor_Cross : croix
#PB_Cursor_IBeam : I (point d'insertion)
#PB_Cursor_Hand : main
#PB_Cursor_Busy : sablier ou montre
#PB_Cursor_Denied : interdit ou X
#PB_Cursor_Arrows : flèche dans 4 directions (sauf Mac OSX)
#PB_Cursor_LeftRight : flèche gauche-droite
#PB_Cursor_UpDown : flèche haut-bas
#PB_Cursor_LeftUpRightDown: flèche diagonale (Windows seulement)
#PB_Cursor_LeftDownRightUp: flèche diagonale (Windows seulement))
#PB_Cursor_Invisible : invisible

#PB_Canvas_CustomCursor: Utilisation d'un curseur non standard (personnalisé):

Windows: un handle HCURSOR
Linux: un pointeur GtkCursor
Mac OSX: un pointeur vers une structure Cursor



Exemple

If OpenWindow(0, 0, 0, 220, 220, "CanvasGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CanvasGadget(0, 10, 10, 200, 200)

Repeat
Event = WaitWindowEvent()

If Event = #PB_Event_Gadget And EventGadget() = 0
If EventType() = #PB_EventType_LeftButtonDown Or (EventType() = #PB_EventType_MouseMove And GetGadgetAttribute(0, #PB_Canvas_Buttons) & #PB_Canvas_LeftButton)
If StartDrawing(CanvasOutput(0))
x = GetGadgetAttribute(0, #PB_Canvas_MouseX)
y = GetGadgetAttribute(0, #PB_Canvas_MouseY)
Circle(x, y, 10, RGB(Random(255), Random(255), Random(255)))
StopDrawing()
EndIf
EndIf
EndIf

Until Event = #PB_Event_CloseWindow
EndIf

Exemple

CanvasGadget.pb

Voir

CanvasOutput(), GetGadgetAttribute(), SetGadgetAttribute(), EventType(), StartDrawing()

OS Supportés

Tous

<-> CalendarGadget() - Gadget Index - CanvasOutput() ->

=========================================

Le texte de canvas output :
==================
CanvasOutput()

Syntaxe

OutputID = CanvasOutput(#Gadget)

Description

Renvoie le OutputID du Canvas afin d'effectuer des opération 2D.

Arguments

#Gadget doit être un CanvasGadget().

Valeur de retour

Renvoie un ouput ID ou 0 si le dessin n'est pas possible. Cette valeur devrait être envoyée à StartDrawing() pour initier l'opération de dessin. Elle n'est valable que pour une seule opération de dessin (ne peut être réutilisée).

Remarques

Le CanvasGadget() utilise un double buffer. Le dessin n'est rendu visible et sans scintillement qu'aptrès la commande StopDrawing().

Voir aussi

StartDrawing(), CanvasGadget()

OS Supportés

Tous

<-> CanvasGadget() - Gadget Index - CheckBoxGadget() ->

C'est bon pour toi comtois ?

Mesa.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Personnaliser l'aide de Purebasic
MessagePosté: Mar 22/Nov/2011 23:52 
Hors ligne

Inscription: Mer 21/Jan/2004 17:48
Messages: 5164
Citation:
C'est bon pour toi comtois ?


Je te dirai ça dès que j'ai un peu de courage pour me replonger dans la doc :)

En attendant merci.

_________________
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Personnaliser l'aide de Purebasic
MessagePosté: Mer 28/Mar/2012 17:23 
Hors ligne

Inscription: Mer 11/Nov/2009 18:17
Messages: 1242
Localisation: Poitiers (Vienne)
Super ce petit tuto :D

Merci du partage :wink:
Je veut bien le fichier moi aussi: Dieppedalle.david@yahoo.fr

Merci :)

_________________
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Personnaliser l'aide de Purebasic
MessagePosté: Mer 28/Mar/2012 17:42 
Hors ligne

Inscription: Lun 26/Avr/2004 0:40
Messages: 14534
Tuto Ajouté dans l'index
viewtopic.php?f=21&t=6664&p=65087#p65087


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 10 messages ] 

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 3 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye