19. marts 2001 - 09:27Der er
30 kommentarer og 1 løsning
Funktioner/Indhold i en \'højrekliksmenu\' ?!?
Hvordan opretter jeg funktioner/indhold i en \'højrekliksmenu\' på en formular ? Det er IKKE en menu bar som dem man alm. kender dem fra Office, men et udvalg af \"genveje\" i systemet. Håber nogen forstår hvad jeg mener :(
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Øhh, hvordan vil du så have, at den ser ud? Rød med små blinkende stjerner? :-)
Med mindre du bevæger dig ud i hardcore API-programmering, så ligner en genvejsmenu en genvejsmenu. Det du kan styre, at de punkter/kommandoer, som er på menuen.
Det gør du ved at lave en alm. menu, som man nu gør i office-pakken og derefter går ind i egenskaberne på den og vælger at \"Type\" skal være \"Genvejsmenu\".
På formularen angiver du så den ny menu i egenskaben \"Genvejsmenu\"
R D rigtigt forstået at en \"genvejsmenu\" bør kun indeholde 1 element/genvej ? Det jeg gerne ville opnå, er de samme muligheder som i Access\'97, mht. makromenuer & har læst i hjælpfilen at de understøttes men helst ikke vil ses i Access2K
Nej, det er ikke rigtigt. En genvejsmenu kan indeholde lige så mange elementer, som du har lyst til (næsten). Access bruger jo selv genvejsmenuer med 8-10 elementer på, næsten ligegyldigt hvor du højreklikker.
Forskellen er bare, at man ikke bør bruge de gammeldags makromenuer, men istedet bruge officepakkens måde at gøre det på. Dvs man skal ikke bruge makroer som \"Tilføj Menu\" osv, men blot højreklikke på værktøjslinien og vælge \"Tilpas\"->Ny osv osv
Piv .. Når jeg opretter en ny værktøjslinie & markerer den til genvejsmenu, bliver jeg bedt om at lukke egenskabsarket for værktøjslinierne, for derefter at skulle vise værktøjslinien \'genvejsmenu\' & der vælge brugerdefineret ? Hvor gør jeg det ? Jeg kan kun få vist egenskabsarket for Access\' normale værktøjslinier ?!?
Når du har Tilpas-dialogen fremme, skal du stå i det første fanablad (Værktøjslinier) og derefter finde \"Genvejsmenuer\" på listen, og krydse den af.
Derefter får du Én ekstra værktøjslinie frem, som indeholder alle eksisterende genvejsmenuer. Det sidste menupunkt hedder Brugerdefineret. Herunder finder du dine egne genvejsmenuer.
Er det muligt at have et beregnet felt i en menubar ? Det, jeg har gang i, er en let tilgang til faktureringssystemet, hvilket egentligt kan overflødiggøres, hvis jeg kan angive den forbrugte tid i menu\'en!
Du kan...men det er ret besværligt. Det kræver en del kode, en reference til Office-objektet og en hel del kendskab til tankegangen bag commandbar-objektet. Det er får omfattende at skrive ned her, sorry :-( Så hvis du KAN undvære det...
I øjeblikket har jeg tænkt mig at vise en msgbox med den forbrugte tid angivet, når der trykkes på knappen. Men det du mener er vel igennem VB at angive knap.caption til en variabel ? :)
Ok, et sidste suk, så udløses præmien :) Jeg har åbenbart lavet noget l%$£ i den db jeg roder med, jeg må ikke tilpasse noget somhelst !?!? Hvad kan være skyld i dette ?!? *hyyl*
OKay! Det kan du sagtens gøre. Lave en brugerdefineret knap, hvorefter du åbner egenskaberne på den. I egenskaben \"Ved Handling\" skriver du: =Funktionsnavn()
hvor Funktionsnavn er navnet på den funktion, du vil udløse (det å IKKE være en procedure)
En ny menu giver dig en undermenu i menuen. Øverst på den liste, hvor du fandt \"Ny Menu\" har du en der hedder noget med \"Brugerdefineret\". Dvs blot en knap. Her kan du lægge din funktion...
doh, my bad :( jeg misforstod hvad du mente ! Jeg har fattet det med funktionen, jeg kan ikke rumme at lave \"grupper\" eller hvad flere-elementer-i-en-menu nu skal kaldes
Function BeregnForbrugtTid() Dim Tempier As Integer Dim TotFakTidTXT As String If Not IsNull(Funktioner.MedArb) And Funktioner.MedArb <> 0 Then \' Check at der er logget ind If Not IsNull(DLookup(\"SumOfForbrugtTid\", \"Tidsforbrug\", \"Udført = \" & Funktioner.MedArb)) Then Tempier = DLookup(\"SumOfForbrugtTid\", \"Tidsforbrug\", \"Udført = \" & Funktioner.MedArb) \' Opslag i en stored query på den totalt fakturerede tid(i sekunder) pt. for den aktive medarbejder Else Tempier = 0 End If Debug.Print Tempier AntalTimer = Int(Tempier / 3600) AntalMinutter = Int((Tempier Mod 3600) / 60) TotFakTidTXT = \"Faktureret Tid pt.: AntalTimer = \" & AntalTimer & \" AntalMinutter = \" & AntalMinutter \' Opslaget bliver omsat til en streng bestående af totalt fakturede timer & minutter CommandBars(\"Risk Manager v.9 BETA\").Controls.Item(7).Caption = TotFakTidTXT \' Denne skat er referencen til objectets caption :) \' Men ikke om jeg fatter hvordan jeg herfra refererer til et element i en undermenu i den menubar :( *phew* Else MsgBox \"Du skal være logget ind før du kan beregne din totalt faktureret tid !!\", vbOKOnly, \"BeregningsFejl!\" End If End Function
Ja, det var noget i den stil, jeg skrev, at man kunne. Men som jeg skrev, så krævede det en reference til Office 9.0 object library og at man kendte lidt til commandbar-objektet. Dertil krævede det at man viste hvordan man skal tælle knapperne osv...det kunne jeg ikke lige overskue at skrive ned :-)
arh, sorry... undermenuen må også have et navn/nr. Men jeg ved det faktisk ikke. Har aldrig prøvet. Du må prøve dig frem :-)
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.