DESSINER UN RECTANGLE DE SÉLECTION AU DESSUS D'AUTRES COMPOSANTS

Messages postés
2233
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
- - Dernière réponse : cs_MAURICIO
Messages postés
2233
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
- 10 mars 2005 à 19:06
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/29992-dessiner-un-rectangle-de-selection-au-dessus-d-autres-composants

Afficher la suite 
cs_MAURICIO
Messages postés
2233
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
5 -
Salut à toi DelphiProg! Je connaissais déjà DrawFocusRect( mais pas {$IfDef Debugging} dont je n' ai toujours pas compris comment il fonctionne vu que le code juste après n' est jamais executé?!

Juste une petite remarque:
on ne peut pas commencer à seleccionner si l' on clique sur l' un des panels, dommage. J' ai attribué les events OnMouseDown/OnMouseMove/OnMouseUp aux panels mais faut changer quand même quelques bricoles à cause des coordonnées de la souris qui sont celles du compo Sender...
A+
cs_Delphiprog
Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
24 -
Bonjour Mauricio.
Le code situé juste après {$IfDef Debugging} n'est jamais exécuté puisque la directive de compilation située au début de l'unité est désactivée (un caractère "!" entre l'accolade et la définition de la directive. Je l'ai laissé volontairement pour montrer l'usage des directives de compilation.
Pour ta remarque, je suis tout à fait d'accord. Mais c'était précisément l'effet recherché.
cs_MAURICIO
Messages postés
2233
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
5 -
Dans ce cas, merci pour cette précision.
Je vais pouvoir noter maintenant ! (bem oui, je note pas tout de suite parce qu' on ne peut changer notre note malheureusement) ...
cs_MAURICIO
Messages postés
2233
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
5 -
Haaa, chui super deçut !!!
Non, pas de la source mais par la directive {$Define Debugging}. Je pensais que le code entre {$IfDef Debugging} et {$EndIf} s' executait si on courait le programme depuis Delphi (mode debugging quoi ...) mais non, en cliquant sur l' exe, le code s' execute aussi :(
Bref, quel est l' interêt alors qu' on aurait le même effet en creant une var de type bool comme ceci:
if varBool = true
then begin


end

Qqu' un peut m' eclairer sur les directives de compilation. Y a t' il un tuto la dessus ??? La réponse est oui mais où ?
cs_Delphiprog
Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
24 -
Voir le tuto sur les directives de compilation : http://www.delphifr.com/code.aspx?id=11787
Il est de qui à ton avis ?

Si tu n'as qu'un seul endroit où tu dois exploiter une variable booléenne, alors oui, je suis d'accord avec toi.
Si tu en as plusieurs, alors les directives de compilation sont très utiles puisqu'il suffit de changer la valeur dans un seul endroit pour que le changement soit répercuté partout (à condition que la directive soit visible de là où on souhaite connaitre sa valeur).
C'est ainsi qu'à partir d'un même code on peut générer des versions différentes (évaluation, complète, etc) sans écrire deux fois le même code.

Dans le cas présent, j'ai défini une directive nommée Debugging mais qui n'a rien à voir avec Delphi. J'aurais pu lui donner un autre nom, ça n'aurait rien changé.