Hvis jeg nu har indlæst et givet OLE objekt i Delphi vha. TOleContainer, så kan jeg udføre et verbum (verb) med DoVerb. I dette tilfælde er jeg kun interesseret i en enkelt type, nemlig den der hedder ovUIActivate i Delphi og OLEIVERB_UIACTIVATE i Win32-API. Disse verbum-klasser, om du vil, er alle negative. Man kan aflæse mulige verber vha. TOleContainer.ObjectVerbs, men her har jeg ingen mulighed for at vide hvilken "klasse" de enkelte hører til. De har selvfølgelig captions, men det er et lidt svagt udgangspunkt, specielt fordi man aldrig kan vide om "&Edit" åbner applikationen til dokumentet eller åbner dokumentet (som jeg vil) i mit eget vindue (inplace).
Jeg skal bruge det til at sørge for at en given knap/menu/whatever kun er aktiv, når det er _muligt_ at lave inplace-aktivering.
Til Stoney: Det vil desværre ikke gå godt. Hvis vi nu tager en Word-fil som eksempel. Den har to Verbs: 0: "&Edit" 1: "&Open"
Nu ved jeg tilfældigvis at "&Edit" er den rigtige i dette tilfælde. Objektet vil gå over i Inplace-activation-mode, hvis man laver DoVerb(0) eller DoVerb(ovUIActivate). ObjectVerbs indeholder ikke standardverbs, men derimod kun dem, der er mulige - i dette tilfælde '&Edit' og '&Open'. IndexOf-opslaget vil derfor returnere -1, hvilket svarer til ovShow.
Helt rigtigt. Det er dem jeg henviser til. Jeg vil vide *om* det er muligt at kalde DoVerb(ovUIActivate), *før* jeg gør det. Som vi kan se i olectnrs.pas, har verbe-typerne alle negative værdier. ObjectVerbs giver positive værdier. For et Word-dokument gælder: 0, "Edit" -> ovUIActivate 1, "Open" -> ovOpen
For et billed-dokument kunne gælde 0, "Edit" -> ovOpen 1, "Open" -> ovShow
Jeg har ingen mulighed for at vide om der findes et verbum, der svarer til DoVerb(ovUIActivate).
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.