Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1474 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  menu contextuel dans IE

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

menu contextuel dans IE

n°1211294
giova
Posté le 30-09-2005 à 03:10:09  profilanswer
 

Salut.
 
précision : je débute en developpement completement, pour l'instant je n'ai des connaissances en C++ avec les MFC.
 
Je voudrais ajouter dans internet explorer  une commande au menu contextuel pour que ca fasse un past sur un champ texte de la page web chargée.
 
j'ai cherché dans msdn, ainsi que des bouts de code via google, mais quedal je ne trouve rien, du moins pas par rapport au C++ http://forum-images.hardware.fr/images/perso/gallycyborg.gif (et j'aimerai bien ne pas avoir à m'éparpiller dans d'autres language pour l'instant).
 
Est ce compliqué à mettre en oeuvre?  
 
ou trouver infos ou exemple svp?
 
merci  :jap:


Message édité par giova le 30-09-2005 à 03:11:43
mood
Publicité
Posté le 30-09-2005 à 03:10:09  profilanswer
 

n°1211376
HelloWorld
Salut tout le monde!
Posté le 30-09-2005 à 10:09:39  profilanswer
 

http://msdn.microsoft.com/workshop [...] erview.asp
Lire à partir de Controlling the Context Menus.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°1211385
giova
Posté le 30-09-2005 à 10:17:02  profilanswer
 

Merci ! :jap:

n°1215817
giova
Posté le 05-10-2005 à 18:15:27  profilanswer
 

salut. Je reviens à ce sujet parcequ'il y a un petit truc qui me chiffonne...
 
Pour résumer la solution proposée par MSDN, il faut ajouter une clé dans la base de registre dont sa DefaultValue est le chemin absolu d'un fichier HTML contenant un script (ce script etant ce que l'on souhaite faire)...
 
cf ce tutorial
 
ok mais comme je le disais, j'aimerai ne pas m'etendre sur plusieurs language, pour l'instant je n'ai de connaissances qu'en C++ et vraiment, je ne voudrai pas avoir à me former au javascript pour le moment. Chaque chose en son temps...
 
j'aimerai que cette commande perso du menu contextuel appelle une fonction dans ma petite appli (ecrite en C++ donc) en lui passant comme parametre ce qu'il faut pour que ma fonction fasse le past d'un string dans le champ texte de la page web concernée...
 
Comme je débute la seule chose que je m'imagine, c'est que ce script envois un message windows WM_USER que mon appli interceptera, mais c'est tres flou dans ma tete.
 
Que pourriez vous me dire par rapport à tout ca pour m'aider SVP !

n°1216196
HelloWorld
Salut tout le monde!
Posté le 06-10-2005 à 10:07:12  profilanswer
 

Ton script peut instancier un composant COM avec qui il va dialoguer. Ce composant peut être fait en C++.
Par exemple chez moi Excel a rajouté ça:

Citation :

E&xporter vers Microsoft Excel->res://C:\PROGRA~1\MICROS~2\OFFICE11\EXCEL.EXE/3000


la ressource 3000 contient:

Code :
  1. <SCRIPT language=VBScript>
  2. DIM xlApp
  3. DIM xlWorkBook
  4. ON ERROR RESUME NEXT
  5. 'Set IE variables and get the URL
  6. SET ieParentWin = external.menuArguments
  7. ieSrcURL = ieParentWin.location.href
  8. fTableSel = FALSE
  9. SET ieSrcElem = ieParentWin.event.srcElement
  10. IF ERR = 0 AND UCASE(ieParentWin.document.selection.type) = "NONE" THEN
  11. tagName = UCASE(ieSrcElem.tagName)
  12. DO UNTIL tagName = "TABLE" OR tagName = "BODY"
  13.  SET ieSrcElem = ieSrcElem.parentElement
  14.  tagName = UCASE(ieSrcElem.tagName)
  15. LOOP
  16. IF tagName = "TABLE" THEN
  17.  tagParentName = tagName
  18.  SET ieParent = ieSrcElem
  19.  DO UNTIL tagParentName = "BODY" OR tagParentName = "VIEW"
  20.   SET ieParent = ieParent.parentElement
  21.   tagParentName = UCASE(ieParent.tagName)
  22.  LOOP
  23.  IF tagParentName <> "VIEW" THEN
  24.   fTableSel = TRUE
  25.   IF ieSrcElem.ID <> "" THEN
  26.    ieSrcConnect = ieSrcElem.ID
  27.   ELSE
  28.    SET ieTables = ieParentWin.document.all.tags("table" )
  29.    ieSrcConnect = 1
  30.    FOR EACH ieTable IN ieTables
  31.     IF ieTable.sourceIndex = ieSrcElem.sourceIndex THEN
  32.      EXIT FOR
  33.     END IF
  34.     ieSrcConnect = ieSrcConnect + 1
  35.    NEXT
  36.   END IF
  37.  END IF
  38. END IF
  39. END IF
  40. SET xlApp = CreateObject("Excel.Application" )
  41. ON ERROR GOTO 0
  42. SET xlWorkbook = xlApp.Workbooks.Add
  43. ON ERROR RESUME NEXT
  44. xlApp.Visible = True
  45. IF fTableSel THEN
  46. webQuerySourceHRef = ieSrcElem.getAttribute("o:WebQuerySourceHRef" )
  47. IF webQuerySourceHRef <> "" THEN
  48.  SET xlQueryTable = xlWorkbook.Worksheets(1).QueryTables.Add("URL;" & webQuerySourceHRef, xlWorkbook.WorkSheets(1).Cells(1,1))
  49.  xlQueryTable.EditWebPage = ieSrcURL
  50. ELSE
  51.  SET xlQueryTable = xlWorkbook.Worksheets(1).QueryTables.Add("URL;" & ieSrcURL, xlWorkbook.WorkSheets(1).Cells(1,1))
  52.  xlQueryTable.EditWebPage = ""
  53. END IF
  54. xlQueryTable.FieldNames = True
  55. xlQueryTable.RowNumbers = False
  56. xlQueryTable.FillAdjacentFormulas = False
  57. xlQueryTable.PreserveFormatting = True
  58. xlQueryTable.RefreshOnFileOpen = False
  59. xlQueryTable.BackgroundQuery = True
  60. xlQueryTable.RefreshStyle = 0 'xlOverwriteCells
  61. xlQueryTable.SavePassword = False
  62. xlQueryTable.SaveData = True
  63. xlQueryTable.AdjustColumnWidth = True
  64. xlQueryTable.RefreshPeriod = 0
  65. xlQueryTable.WebSelectionType = 3 'xlSpecifiedTables
  66. xlQueryTable.WebFormatting = 3 'xlWebFormattingNone
  67. xlQueryTable.WebTables = ieSrcConnect
  68. xlQueryTable.WebPreFormattedTextToColumns = True
  69. xlQueryTable.WebConsecutiveDelimitersAsOne = True
  70. xlQueryTable.WebSingleBlockTextImport = False
  71. xlQueryTable.WebDisableDateRecognition = False
  72. xlQueryTable.WebDisableRedirections = False
  73. xlQueryTable.Refresh
  74. ELSE
  75. xlApp.Dialogs(667).Show ieSrcURL
  76. END IF
  77. </Script>


note le CreateObject("Excel.Application" ).
En t'inspirant de ça:
http://www.01net.com/editorial/257 [...] -imprimer/
et de ce qu'il y a au dessus, le script doit pas être monstrueux pour récupérer le texte surligné, instancier un objet COM et lui envoyer le texte en question.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°1216565
giova
Posté le 06-10-2005 à 14:13:10  profilanswer
 

Justement je suis en train de me plonger dans le directshow, et donc l'utilisation des COM.
 
Je vais étudier tout ca, merci encore une fois  :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  menu contextuel dans IE

 

Sujets relatifs
Menu contextuel sur OperaSVP:comment créer un lien pour bouton sous flashds un menu!?!?!,
[CSS] IE n'aime pas mon code...menu style onglet avec coin cassé
menu select qui affiche/cache les lignes d'un tableauNavigation par menu déroulant avec frame
pb de menu CSSRécuperer les infos d'une Liste/menu
[html/css/javascript] menu clic gauche 
Plus de sujets relatifs à : menu contextuel dans IE


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR