FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Nouvelles commandes pour le MAIN_MENU_POP Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
Nouvelles commandes pour le MAIN_MENU_POP Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Nouvelles commandes pour le MAIN_MENU_POP Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Nouvelles commandes pour le MAIN_MENU_POP Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Nouvelles commandes pour le MAIN_MENU_POP Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Nouvelles commandes pour le MAIN_MENU_POP Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Nouvelles commandes pour le MAIN_MENU_POP Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Nouvelles commandes pour le MAIN_MENU_POP Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Nouvelles commandes pour le MAIN_MENU_POP Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Nouvelles commandes pour le MAIN_MENU_POP Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Nouvelles commandes pour le MAIN_MENU_POP Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Nouvelles commandes pour le MAIN_MENU_POP Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Nouvelles commandes pour le MAIN_MENU_POP Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Nouvelles commandes pour le MAIN_MENU_POP Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Nouvelles commandes pour le MAIN_MENU_POP Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le Deal du moment :
LEGO Icons 10331 – Le martin-pêcheur
Voir le deal
35 €

 

 Nouvelles commandes pour le MAIN_MENU_POP

Aller en bas 
3 participants
AuteurMessage
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Nouvelles commandes pour le MAIN_MENU_POP Empty
MessageSujet: Nouvelles commandes pour le MAIN_MENU_POP   Nouvelles commandes pour le MAIN_MENU_POP EmptySam 15 Juin 2019 - 1:07

Bonjour,

Cette demande s'adresse à Jack.

Je n'ai pas pour habitude de te déranger car je sais que ton temps est compté.
Je crois d'ailleurs que c'est seulement la seconde fois que je te demande de nouvelles commandes.

Cette fois, il s'agit de MAIN_MENU_POP, le menu contextuel.

Je me suis aperçu dans PanExpress qu'un clic droit faisait apparaître le MAIN_MENU_POP même s'il est sur d'autres objets eux_même rattachés au FORM de base.
Tu peux par exemple afficher le MAIN_MENU_POP alors que l'on se trouve sur un PANEL qui représente une fenêtre d'option.

J'aimerai donc le 'limité' avec des commandes telles que HIDE/SHOW ou ACTIVE/INACTIVE afin d'éviter cet affichage parasite.
Je ne sais pas si cela est possible ou alors pourvoir le rattaché à un objet en particulier.
Pour PanExpress ce serai par exemple l'objet SYNEDIT.

J'espère que tu vois le principe. Sinon fait un test avec le clic droit dans PanExpress sur les différents éléments et tu comprendra...

Merci d'avance Jack. Wink


Dernière édition par Minibug le Sam 15 Juin 2019 - 10:13, édité 1 fois
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Nouvelles commandes pour le MAIN_MENU_POP Empty
MessageSujet: Re: Nouvelles commandes pour le MAIN_MENU_POP   Nouvelles commandes pour le MAIN_MENU_POP EmptySam 15 Juin 2019 - 1:25

Tiens, c'est bizarre... la commande MAIN_MENU_POP n'est pas reconnue chez moi:
Nouvelles commandes pour le MAIN_MENU_POP Aa119

Serait-ce un problème de version ?
Nouvelles commandes pour le MAIN_MENU_POP Aa213

Tu dis:
Citation :
... ou alors pourvoir le rattaché à un objet en particulier.
La doc explique que le MAIN_MENU_POP se rapporte à une FORM entière. Par défaut, c'est la form 0, et si l'on veut l'avoir sur une autre form, il faut faire un COMMAND_TARGAT_IS avant. Il ne peut y avoir qu'un seuk MAIN_MENU_POP par form, et il est donc impossible d'en faire un pour des objets spécifiques. Seule solution pour cela; créer son propre menu "maison" et l'afficher sur un évènement ON_KEY_DOWN en testant le code pour le bouton droit...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Nouvelles commandes pour le MAIN_MENU_POP Empty
MessageSujet: Re: Nouvelles commandes pour le MAIN_MENU_POP   Nouvelles commandes pour le MAIN_MENU_POP EmptySam 15 Juin 2019 - 1:43

c'est bizarre ton histoire !

Voila chez moi :

Nouvelles commandes pour le MAIN_MENU_POP Sans_t58
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Nouvelles commandes pour le MAIN_MENU_POP Empty
MessageSujet: Re: Nouvelles commandes pour le MAIN_MENU_POP   Nouvelles commandes pour le MAIN_MENU_POP EmptySam 15 Juin 2019 - 1:50

Bon, j'ai compris ma bêtise... lorsqu'on écrit "main_memu_pop", il ne connaît pas, bien sûr ! Il fallait "main_menu_pop", et ça marche comme tu le décris (et comme c'est dit dans la doc !):
Code:
' test_main_menu_pop.bas

edit 1 : top 1,10 : left 1,10
memo 2 : top 2,10 : left 2,150
main_menu_pop 10
sub_menu 11 : parent 11,10 : caption 11,"Fichiers"

end
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Nouvelles commandes pour le MAIN_MENU_POP Empty
MessageSujet: Re: Nouvelles commandes pour le MAIN_MENU_POP   Nouvelles commandes pour le MAIN_MENU_POP EmptySam 15 Juin 2019 - 1:52

lol! lol! lol!
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Nouvelles commandes pour le MAIN_MENU_POP Empty
MessageSujet: Re: Nouvelles commandes pour le MAIN_MENU_POP   Nouvelles commandes pour le MAIN_MENU_POP EmptySam 15 Juin 2019 - 4:04

J'ai mis une nouvelle version de KGF.dll sur mon site internet (pas sur le WebDav !). Il y a une nouvelle fonction, pas encore documentée, qui va résoudre ton problème:
Code:
res% = dll_call2("PopupMenuTarget",object_internal(main_menu_popup%),handle(cible%))
Cette fonction restraint le ménu popup strictement à l'objet dont le handle est spéficié en secon paramètre.

Exemple:
Le ménu popup n'apparaît QUE sur la form 0, pas lors d'un clic sur autre chose:
Code:
' test_main_menu_pop.bas

dim res%

edit 1 : top 1,10 : left 1,10
memo 2 : top 2,10 : left 2,150
main_menu_pop 10
sub_menu 11 : parent 11,10 : caption 11,"Fichiers"

dll_on "KGF.dll"
res% = dll_call2("PopupMenuTarget",object_internal(10),handle(0))
message "res%="+str$(res%)

end

C'est ce que tu veux, non ?

D'ailleurs, des appels successifs à cette fonction avec un autre handle en second paramètre déplacent la cible du ménu popup selon les besoins. Et un appel avec zéro en second paramètre désactive complètement de ménu popup.

EDIT

Oups... je le reprends - il y a encore un problème.

EDIT

Bon, ça marche maintenant !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Nouvelles commandes pour le MAIN_MENU_POP Empty
MessageSujet: Re: Nouvelles commandes pour le MAIN_MENU_POP   Nouvelles commandes pour le MAIN_MENU_POP EmptySam 15 Juin 2019 - 10:10

Merci Klaus

J'ai testé en changeant la valeur de l'objet par celle du MEMO que j'ai lui même fait évolué en SYNEDIT.
Et cela fonctionne parfaitement, car en fait c' est pour l'utiliser uniquement sur la partie éditeur de PanExpress.

Mais le problème c'est que ne souhaite pas utiliser de DLL pour rendre mon programme compatible avec les différents système : MAC, LINUX, etc. J'ai déjà 2 appels DLL dans mon programme que je souhaiterai supprimer...

Mais bon, je vais garder ta solution en attendant que Jack puisse se pencher sur le problème.
En tout cas si toi tu as trouvé une solution, Jack doit pouvoir en faire de même sur Panoramic.

Car c'est vrai que dans l'état actuel de la fonction MAIN_MENU_POP n'est pas très pratique.
Mais c'est une objet récent et Jack le fera sûrement évoluer...

Un grand merci Klaus ! cheers
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Nouvelles commandes pour le MAIN_MENU_POP Empty
MessageSujet: Re: Nouvelles commandes pour le MAIN_MENU_POP   Nouvelles commandes pour le MAIN_MENU_POP EmptySam 15 Juin 2019 - 10:22

Bon, dans ce cas, voici comment j'ai codé cela:
Code:
...
type
  Klaus = class
  public
    class procedure OnPopupMenu(Sender: TObject);
end;

implementation

{
  Cet routine évènement peut être appelée par un TPopupMenu juste avant son affichage à l'écran.
  La propriété TAG est utilisée pour mémoriser le handle d'un objet sur lequel de TPopupMenu est autorisé.
  Si TAG=0      ==> toujours afficher TPopupMenu
  Si TAG=-1    ==> jamais afficher le TPopupMenu
  Si TAG=handle ==> afficher le TPopupMenu uniquement si le curseur est sur cet objet
}
class procedure Klaus.OnPopupMenu(Sender: TObject);
var
  aName: array [0..255] of Char;
  hnd: HWND;
  pt: TPoint;
begin
  GetCursorPos(Pt);
  hnd := WindowFromPoint(Pt);
  GetClassName(hnd, aName, 256);
  if TPopupMenu(Sender).Tag<>0 then begin
    if TPopupMenu(Sender).Tag<>hnd then begin
      SendMessage(TPopupMenu(Sender).WindowHandle, WM_CANCELMODE, 0, 0 );
      keybd_event( VK_ESCAPE, Mapvirtualkey( VK_ESCAPE, 0 ), 0, 0);
      keybd_event( VK_ESCAPE, Mapvirtualkey( VK_ESCAPE, 0 ),KEYEVENTF_KEYUP, 0);
    end;
  end;
end;

// paramétrer le fonctionnement d'un TPopupMenu de Panoramic
function PopupMenuTarget(Popup: TControl; target: HWND): integer; stdcall; export;
var
  oldaddress: integer;
begin
  result := -1;
  try
    TPopupMenu(Popup).OnPopup := Klaus.OnPopupMenu;
    TPopupMenu(Popup).Tag := target;
    result := 0;
  except
  end;
end;
exports PopupMenuTarget;

L'idée, c'est de mémoriser dans le ménu PopUp le handle de l'objet sur lequel il est autorisé. Et avant chaque apparition,, on vérifie si le menu est autorisé ou pas, et éventuellement on lui balance un ESCAPE pour le fermer aussitôt.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
silverman

silverman


Nombre de messages : 970
Age : 52
Localisation : Picardie
Date d'inscription : 18/03/2015

Nouvelles commandes pour le MAIN_MENU_POP Empty
MessageSujet: Re: Nouvelles commandes pour le MAIN_MENU_POP   Nouvelles commandes pour le MAIN_MENU_POP EmptySam 15 Juin 2019 - 11:46

@minibug
Afin de ne pas polluer cette demande d'amélioration, j'ai posté une possible solution ici
J'ai fait aussi une autre demande pour cet objet il y a qq temps déjà,
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Nouvelles commandes pour le MAIN_MENU_POP Empty
MessageSujet: Re: Nouvelles commandes pour le MAIN_MENU_POP   Nouvelles commandes pour le MAIN_MENU_POP EmptySam 15 Juin 2019 - 12:57

Merci Silverman.

Je t'ai répondu sur l'autre post ! Laughing
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Contenu sponsorisé





Nouvelles commandes pour le MAIN_MENU_POP Empty
MessageSujet: Re: Nouvelles commandes pour le MAIN_MENU_POP   Nouvelles commandes pour le MAIN_MENU_POP Empty

Revenir en haut Aller en bas
 
Nouvelles commandes pour le MAIN_MENU_POP
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Nouvelles commandes pour LIST, COMBO et MEMO
» Nouvelles commandes
» une commande!!
» Commandes supplémentaires pour faire un moteur 3d
» Demande de nouvelles commandes.

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos souhaits d'amélioration de Panoramic-
Sauter vers: