Aide - Recherche - Membres - Calendrier
Version complète : Probleme avec la zone graffiti
Les Forums de PalmAttitude.org > GENERAL PalmOS > Développement sous PalmOS > Développement HB++
hugonoof
Tout d'abord bonjours à tous.

Voila je viens de développer mes premières appli en HB++, mais je viens de m'apercevoir d'un petit truc qui me gène.
En faite lorsque je suis sur mes appli. je n'arrive pas a enlever la zone graffiti avec le bouton en bas a droite (le bouton est grisé), donc la zone graffiti utilise toujours un quart de mon écran ce qui est assez dérangeant car elle cache une partie de mon appli.
Voila je voulais savoir si j'ai oublié quelque chose dans mon appli. ou alors s’il y avait une astuce, ou bien si s’était normal.

Je ne sais pas si j'ai était clair, s'il faut je mettrais une capture d'écran.

Merci d'avance.
Patrice
C'est normal, tu dois "activer" toi-même l'utilisation de la zone graffiti par ton programme. Je laisse les spécialistes HB++ te mettre sur la voie des fonctions correspondantes...

Et bienvenue sur le forum cool.gif
hugonoof
Merci beaucoup pour la rapidité, j'ai hate de connaitre les fonctions correspondantes.
poolpy
Il faut modifier la propriété "DIA" de tous les forms devant gérer la zone grafiti rétractable :

http://www.handheld-basic.com/documentatio...t/prop_dia.html

Evidemment, HB++ ne va pas deviner tout seul quels sont les contrôles à grossir ou déplacer pour réarranger ton interface. C'est à toi de le préciser avec la propriété "Anchors" de tous les contrôles du form - cette propriété indique si le contrôle doit rester en place, s'agrandir ou se déplacer en cas de changement de taille de l'écran :

http://www.handheld-basic.com/documentatio...op_anchors.html
hugonoof
CITATION(poolpy @ 17/11/2006 à 12:38 ) *
Il faut modifier la propriété "DIA" de tous les forms devant gérer la zone grafiti rétractable :


Pour la priopriété Anchors, je comprends, dés que ma zone disparaitra, il faudra retailler chaque forms.
Mais qu'es ce qui va me permettre de faire disparaitre ma zone Graffiti?
Dois je créer moi meme un bouton?
La proprieté Dia sert elle a ca?

Qu'es ce que tu entends par tous les forms devant gérer la zone grafiti rétractable?

Admettons que j'ai juste un fields dans mon frmMain, que dois je rajouter pour pouvoir faier disparaitre la zone graffiti?
hugonoof
C'est bon je viens de réussir effectivement il suffisait tout simlpement de rajouter Enabled a la propriété DIA de mon Form frmMain.

Merci beaucoup.
hugonoof
Dans mon form j'ai des lines et rectangles, lorsque je ferme ou ouvre ma zone graffiti, mes dessins disparaissent, tout le reste reste sauf mes object Display ?
snark
Il faut coder leur "redessinage" dans la procédure
CODE
Private Sub Form_Paint()
...
End Sub
hugonoof
Super ca marche.

La methode Paint est appelé uniquement lorsqu'on utilise la zone graffiti? Ou est elle appelé dans d'autre cas?

Faut il mettre d'autre chose a l'interieur? ou uniquement les objects Display?

Merci pour tout
poolpy
La méthode paint est appelée chaque fois que le contenu de la form doit être redessinée - par exemple lorsqu'une boîte d'alerte couvrant la form disparaît, lorsque la DIA change, etc... En pratique c'est le seul endroit dans ton code où il faut faire appel aux fonctions graphiques (line, rectangle, copyarea).

J'ai d'ailleurs longtemps milité pour l'affichage d'un warning (ou d'une erreur) lorsque line, rectangle et consorts sont appelés en dehors de l'event Paint, mais ça n'a pas été intégré dans HB++ :-/

Si tu dessines ailleurs que dans paint, tu vas te retrouver avec des éléments qui disparaîtrons chaque fois que la DIA est redimensionnée, chaque fois qu'une fenêtre d'alerte apparaît puis est fermée etc.
hugonoof
Je comprend mieux, donc en faite je vais aller virer tous mes dessins du Load.
Payalba
CITATION(poolpy @ 24/11/2006 à 12:59 ) *
La méthode paint est appelée chaque fois que le contenu de la form doit être redessinée - par exemple lorsqu'une boîte d'alerte couvrant la form disparaît, lorsque la DIA change, etc... En pratique c'est le seul endroit dans ton code où il faut faire appel aux fonctions graphiques (line, rectangle, copyarea).

J'ai d'ailleurs longtemps milité pour l'affichage d'un warning (ou d'une erreur) lorsque line, rectangle et consorts sont appelés en dehors de l'event Paint, mais ça n'a pas été intégré dans HB++ :-/

Si tu dessines ailleurs que dans paint, tu vas te retrouver avec des éléments qui disparaîtrons chaque fois que la DIA est redimensionnée, chaque fois qu'une fenêtre d'alerte apparaît puis est fermée etc.

Tu parles bien de desin sur la forme, pas dans un buffer externe (image , UC, etc..).
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.