Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: [Résolu] Position graphique du curseur sur Synedit Ven 25 Juin 2021 - 11:24 | |
| Bonjour, Tout est résumé dans le titre... Comment faire pour connaitre la position graphique du curseur sur une fenêtre d'édition de type synedit ? Nous avons bien CARET_X_POSITION et CARET_Y_POSITION pour la position des lignes et colonnes. Mais comment déterminer la position graphique en pixels ? J'ai bien testé avec la taille de la police du Synedit mais je n'obtiens pas les bonnes infos. merci d'avance pour vos réponse.
Dernière édition par Minibug le Lun 5 Juil 2021 - 19:58, édité 2 fois | |
|
silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: [Résolu] Position graphique du curseur sur Synedit Ven 25 Juin 2021 - 13:18 | |
| - Code:
-
label bouger
synedit 1 left 1,100 top 1,150 on_mouse_move 1,bouger
END
bouger: off_mouse_move 1 caption 0,"x="+str$(mouse_x_position(1))+" /y="+str$(mouse_x_position(1)) on_mouse_move 1,bouger return | |
|
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: [Résolu] Position graphique du curseur sur Synedit Ven 25 Juin 2021 - 13:26 | |
| Merci pour ta réactivité Silverman ! Je ne recherche pas la position de la souris mais bien la position du curseur. et si je me déplace uniquement avec les flèches de direction je perds la position ! D'où ma demande concernant la position graphique du curseur ! | |
|
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: [Résolu] Position graphique du curseur sur Synedit Ven 25 Juin 2021 - 22:34 | |
| Bon, vu le peu de réponses reçues, 2 solutions : - Soit mon problème n'est pas réalisable en Panoramic. - Soit les Panoramiciens sont déjà partis en vacances ! Dans les 2 cas je n'ai pas de solution à mon problème... Bon weekend à tous !! | |
|
silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: [Résolu] Position graphique du curseur sur Synedit Lun 5 Juil 2021 - 15:45 | |
| Je suis curieux de savoir ce que tu veux faire... J'ai retrouvé ça dans mes archives, je pense que cela correspond exactement à ta demande: - Code:
-
' Panoramic 0.9.27i5
' =========================================================================================== ' = Title : GetCaretPos ' = ' = Author : Silverman ' = ' = Date : Février 2016 ' = ' = Version: 1.0 ' =========================================================================================== ' Comments : Obtenir les coordonnées du curseur dans un memo/synedit en coordonnées souris ' ===========================================================================================
' Attention au type de données:( plus d'info ici : https://msdn.microsoft.com/en-us/library/cc230318.aspx ) ' ' LONG = 4 bytes ---> entier signé, donc la variable de stockage d'un LONG se termine par %(x%,y%,...) ' ' pointeur : DWORD ' DWORD=4 bytes non signé; ce type n'existe pas en Panoramic, mais on peut le remplacer par ' un LONG à condition qu'il soit toujours positif. Ex. de DWORD: lpPoint_ptr% ' ' lpPoint$ = structure POINT; détail ici : https://msdn.microsoft.com/fr-fr/library/windows/desktop/dd162805%28v=vs.85%29.aspx ' ' les valeurs retournées dans la structure POINT sont : 2 LONG ' ' Caret Functions; détail ici : https://msdn.microsoft.com/fr-fr/library/windows/desktop/ff468799%28v=vs.85%29.aspx ' ' ' 07/2021 : adapté le code à la commande peek32
label affichage dim i dim bool%,lpPoint$,lpPoint_ptr%,x%,y%
' créer un buffer pour 2 LONG(donc 8 bytes) nuls lpPoint$=string$(8,chr$(0))
alpha 1
synedit 10 : left 10,250 for i=1 to 100 item_add 10,"0123456" next i set_focus 10
timer 5 timer_interval 5,125 : on_timer 5,affichage
dll_on "user32" peek_reverse
END affichage: timer_off 5 ' lpPoint_ptr%=peek32(adr(lpPoint$)) bool%=dll_call1("GetCaretPos",lpPoint_ptr%) ' copie les valeurs des coordonnées souris contenu dans le buffer, dans les variables x% et y% COPY_LONG(adr(x%),lpPoint_ptr%,0) COPY_LONG(adr(y%),lpPoint_ptr%,4)
' affichage du résultat caption 1,"X = "+str$(x%)+" Y = "+str$(y%)
timer_on 5 return
' LES SUBs ********************************************************************* sub COPY_LONG(adr_destination%,adr_source%,buffer_position%) ' LONG = 4 BYTEs ' adr_destination% = adresse destination ' adr_source% = adresse adr_source ' copie un LONG, –2147483648 < LONG < 2147483647 poke adr_destination%,peek(adr_source%+buffer_position%) poke adr_destination%+1,peek(adr_source%+1+buffer_position%) poke adr_destination%+2,peek(adr_source%+2+buffer_position%) poke adr_destination%+3,peek(adr_source%+3+buffer_position%) end_sub | |
|
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: [Résolu] Position graphique du curseur sur Synedit Lun 5 Juil 2021 - 18:22 | |
| Merci Silverman C'est tout à fait ce que je recherche et en plus le code est ultra court !!!! Pour l'utilisation, il s'agit d'un ajout de saisie prédictive des mots clés sous la forme d'une liste pour mon éditeur maison... J'en ai déjà un peu parlé mais je ne l'ai pas encore mis en ligne... Il ne s'agit ni de GPP2 ni de Panexpress. Je cherchais un éditeur à la façon de celui de Panoramic mais avec beaucoup plus de possibilités. De ce coté là, j'ai atteint mon objectif et d'ailleurs je l'utilise depuis un bon moment maintenant et j'en suis très content. Il y a des lacunes que je corrige au fur et à mesure et lorsque j'aurai atteint le niveau désiré je le partagerai surement... Pour le moment je vais m'empresser de mettre en place ton code qui va largement simplifier mon usine à gaz que j'avais développé ! Cela dit le principe fonctionne déjà mais d'un point de vue programmation ça sera beaucoup plus carré... Encore un GRAND MERCI à toi Silverman... | |
|
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 5 Juil 2021 - 23:04 | |
| On va le rebaptiser "Goldman" ha mais zut y en a déjà un... | |
|
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: [Résolu] Position graphique du curseur sur Synedit Mar 6 Juil 2021 - 7:36 | |
| | |
|
Contenu sponsorisé
| Sujet: Re: [Résolu] Position graphique du curseur sur Synedit | |
| |
|