webForumDet fria alternativet

Tabb

7 svar · 272 visningar · startad av AG

AGMedlem sedan mars 20001 266 inlägg
#1

Har nu några mer delphifrågor.

Tänkte använda mig av vanlig text som "submitknapp". Har då en statictext som på "onClick" genomför några uträkningar.
Dock är problemet att man aldrig ser när texten är tabbad, vill kunna använda den som en vanlig submit-knapp. Något förslag?
Alltså skall kunna tabba ner och bara klicka på enter.

Tack
Andreas

agneta_rungMedlem sedan juli 2002145 inlägg
#2

Det går inte att tabba sig till en vanlig TLabel (för det är kanske en sådan du använder för din text?).

Det finns ett par tänkbara komponenter som går att ställa in så de liknar TLabel.

TPanel går det att tabba sig till, men det syns inte automatiskt att den har fokus - det måste du själv programmera. Dessutom reagerar den på tangentbordstryckning.

TEdit har ju ett visst beteende när den får fokus, så den kanske är ett alternativ.

Man kan trixa sig fram med hjälp av de standardkomponenter som finns, men det skulle förvåna mig storligen om du inte kan hitta en specialskriven komponent för det om du googlar lite...

Vill du använda TPanel kan du förslagsvis göra så här:
Panelens Properties

  1. Ställ in Alignment till taLeftJustify för att vänsterjustera texten
  2. Sätt BevelOuter till bvNone
  3. Skriv dit texten i Caption
  4. Sätt TabStop till true

Panelens Events

  1. I OnEnter skriver du för att visa att panelen är vald exempelvis

    pnl.Font.Style := [fsBold, fsUnderline]
    
  2. I OnExit skriver du för att "avmarkera" kontrollen

    pnl.Font.Style := []
    
  3. I OnClick skriver du förstås vad du vill ska hända om man klickar på den

Sedan lägger du till en osynlig knapp som är default, dvs som fångar "enter" från tangentbordet.
Knappens Properties

  1. Sätt Default = true
  2. Sätt Visible = false

Knappens Events
I knappens OnClick skriver du något i stil med:

if panel1.Focused then
  panel1Click(Sender)
else if panel2.Focused then
  panel2Click(Sender)
etc...
AGMedlem sedan mars 20001 266 inlägg
#3

Tack för din hjälp.
När texten är tabbad skulle jag vilja få som runt texten när man markerar en radio-knapp, dvs en prickad ram runt.
Är detta möjligt?

Andreas

agneta_rungMedlem sedan juli 2002145 inlägg
#4

Allt är möjligt! :OO Men det går inte - åtminstone kan inte jag - att få standardkomponenterna att bete sig på detta sätt. Jag föreslår återigen att du googlar och kollar efter specialskrivna komponenter. Det finns hur många som helst...

Alpha IIMedlem sedan maj 20002 993 inlägg
#5

Det lär ju inte vara så svårt. Skapa en ny komponent som ärver från en TPanel och skriv din egen rita rutin där du ritar en streckad kant.

Alpha IIMedlem sedan maj 20002 993 inlägg
#6

http://member.webforum.nu/Alpha II/StreckadPanel.zip

Inte speciellt snyggt sätt men funkar.... kanske... faktiskt otroligt dålig lösning :D

AGMedlem sedan mars 20001 266 inlägg
#7

Tack, tyvärr duger det inte. Skall se ut exakt som runt en radiobutton-text. Kanske går att vidarutveckla ditt?

Andreas

Alpha IIMedlem sedan maj 20002 993 inlägg
124 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
121 ms — hämta tråd, inlägg och bilagor (db)