Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Artiklar / Titel på artikeln

Menyer i Delphi

Postad 2002-02-14 av Staffan Berg i sektionen ASP.NET, C#, Okategoriserat med 0 Kommentarer | Läst av: 3452, Betyg: 0%

Förord

Att skapa menyer i Delphi är en barnlek. Följ med i detta kapitel och se hur det går till. I de program vi hittills skrivit har det saknats en väsentlig detalj som ingår i de flesta Windowsprogram - en meny. Det finns knappast ett Windowsprogram som inte har minst en meny. På denna sida kommer du att se hur lätt det är att skapa menyer i Delphi.
Innehåll
  » Meny-komponenter
  » Komponenten MainMenu
  » Att redigera en meny
  » En undermeny till undermeny
  » Snabbkommandon
  » Menyval som tillståndsvariabel
  » Komponenten PopupMenu


Meny-komponenter

På standardfliken i komponentpaletten i Delphi finns det en komponent för huvudmenyer., MainMenu, och en komponent för popupmenyer, PopupMenu.

  • Ikonen för MainMenu

  • Ikonen för PopupMenu


En huvudmeny visas som en rad av alternativ precis under titelraden på ett formulär. En popupmeny aktiveras med höger musknapp och kan visas var som helst på formuläret.


Komponenten MainMenu

En huvudmeny i Windows brukar alltid innehålla några olika standardalternativ - Arkiv, Redigera, Visa etc.. Det är lätt att utforma en meny i Delphi med hjälp av den inbyggda menyhanteraren. Du aktiverar denna genom att dubbelklicka på komponentikonen som du har placerat ut på ditt formulär.. Du hamnar direkt i menyhanteraren.

  • I menyhanteraren visas olika fält där du kan fylla i de olika menyalternativen. Skriv &Arkiv i rutan för Caption i Objektinspektorn och tryck därefter på Enter-tangenten. I menyhanteraren skrivs då detta val in i huvudmenyn. Et-tecknet (&) innebär att bokstaven som följer strax därefter kommer att kunna användas som ett snabbkommando på Windowsvis.

  • Klicka på valet Arkiv i huvudmenyn i menyhanteraren. Då visas första valet i en undermeny under Arkiv. Lägg i undermenyn till valen Öppna, Spara och Avsluta.

  • Klicka därefter i rutan til höger Arkiv och skriv in valet &Redigera. Upprepa och skriva in &Visa i nästa ruta till höger.

  • Du kan förflytta dig i menysytemet och i designfasen testa hur det kommer att fungera när programmet körs. Om du samtidigt tittar i objektinspektorn ser du att Delphi har gett de olika menyvalen namn som överensstämmer med namnen på menyn. Dessa namn refererar du sedan till i programkoden. Naturligtvis kan du ge dem andra namn om du så vill.

  • Dubbelklicka på menyvalet Avsluta och skriv in följande procedur i testsyfte.



procedure TForm1.Avsluta1Click(Sender : TObject);
begin
Close;
end;


  • Provkör programmet och testa menyvalet Avsluta.



Att redigera en meny

Antag att vi vill ändra undermenyn till Arkiv i exemplet ovan och lägga till en avskiljare mellan Spara och Avsluta. Du kan då göra på följande vis.

Aktivera valet Avsluta och tryck därefter på Insert-tangenten. Du kan också högerklicka och sedan välja Insert i den popupmeny som då visas. Ett tomt menyval skjuts nu in mellan Spara och Avsluta.

Aktivera det tomma menyvalet. Skriv in ett bindestreck i captionrutan och tryck på Enter-tangenten. En menyavskiljare visas nu i undermenyn.




En undermeny till undermeny

Normalt finns inte mer än en nivå, en undermeny, till huvudmenyn. Ibland kan det emellertid inträffa att ytterligare val behöver göras till ett val i en undermeny. Du kan då skapa en undermeny till ett sådant val med hjälp av popupmenyn.

Antag att du vill skjuta in ett val konfigurera så att du får två tomma menyval.

  • Aktivera valet Avsluta. Tryck två gånger på Insert-tangenten så att du får två tomma menyval. Skriv därefter Konfi&gurera i den översta och gör den undre till en avskiljare.

  • Aktivera valet Konfigurera. Högerklicka sedan och välj 'Create Submenu'.

  • Lägg sedan in några menyval, Skrivare, Teckensnitt och Färger. Du har nu skapat en andra menynivå.



Snabbkommandon

De olika menyvalen kan förses med snabbtangenter. En snabbtangent fungerar så, att oberoende på var man befinner sig i programmet, så kommer den aktivitet som är kopplad till snabbtangenten att utföras då snabbtangenten trycks ned. Du kan välja mellan olika snabbkommandon i menyvalet Shortcut i Objektinspektorn.


Menyval som tillståndsvariabel

Varje menyval i en meny är ett objekt av typen MenyItem med vissa egenskaper som du kan påverka under designfasen med objektinspektorn. Detta har du gjort när du i captionrutan anger texten för menyvalet. Ett menyval har också en egenskap Checked av typen boolean. Om egenskapen har värdet true visas ett V-tecken, ett förkryssningstecken, framför menyvalet.

Anta att du har ett menyalternativ som heter AutoSpara. Ändra egenskapsvärdet till true så att ett V-tecken visas. Komplettera sedan händelseproceduren till AutoSpara enligt nedan.


procedure TForm1.AutoSpara1Click(Sender : TObject);
begin
AutoSpara1.Checked := not AutoSpara1.Checked;
end;

Provkör nu programmet och klicka upprepade gånger på menyvalet AutoSpara. Menyvalet kommer omväxlande att vara förkryssat och okryssat.


Komponenten PopupMenu

Att tillverka en popupmeny går i princip till på samma sätt som för huvudmenyer.

  • Placera ut komponenten PopupMenu på formuläret. Dubbelklicka på komponenten.

  • Placera även ut en Memo-komponent som du också hittar på Standardfliken i komponentpaletten.

  • Lägg till menyvalen Klipp ut, Kopiera och Klistra in.





  • Dubbelklicka på valet Klipp ut och komplettera händelseproceduren.



procedure TForm1.Cut2Click(Sender : TObject);
begin
Memo1.CutToClipboard;
end;


  • Gör motsvarande för valet Kopiera och Klistra in.


Memo1.CopyToClipboard;
Memo1.PasteFromClipboard;

Koppla sedan popupmenyn till Memo-komponenten. Aktivera först textrutan och välj sedan i objektinspektorn med nedåtpilen i fältet Popupmenu bland tillgängliga popupmenyer.

Provkör programmet, högerklicka och testa dina menyalternativ.
Upp

0 Kommentarer

Skriv en kommentar på artikeln

Ditt betyg på artikeln



Kommentar:





Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 159
27 952
271 704
915
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies