Avatar billede runem74 Nybegynder
19. maj 2002 - 16:42 Der er 8 kommentarer og
1 løsning

Space medfører at underform lukkes

Hej,

Jeg har en underform hvor jeg ved at trykke space skal kunne ændre en radiobuttons 'checked' egenskaber.

Jeg har forsøgt med følgende kode som er sat ind  under formens onkeydown event.

procedure Tanno.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key = vk_space  then
radiobutton1.checked:=not radiobutton1.checked;
end;

Det mærklige er at radiobutton1 ikke ændres istedet lukkes underformen så jeg kommer tilbage til hovedformen.

Dette sker også selv om jeg slet ikke har nogen onkeydown event????

Mange hilsner,

Rune
Avatar billede zerohero Nybegynder
19. maj 2002 - 18:15 #1
hvorfor ikke bare:

procedure Tanno.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key = vk_space  then
  radiobutton1.checked := false;
end;
Avatar billede zerohero Nybegynder
19. maj 2002 - 18:16 #2
Prøv desuden at slå keypreview til!!!
Avatar billede runem74 Nybegynder
19. maj 2002 - 18:23 #3
Med keypreview slået til ændres radiobutton1 som den skal men underform lukkes stadig så jeg kommer tilbage til hovedformen?

Grunden til 'not' er fordi den også skal kunne slås til hvis den er slået fra.

Mange hilsner,

Rune
Avatar billede zerohero Nybegynder
19. maj 2002 - 18:40 #4
så bare skriv...

procedure Tanno.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key = vk_space then
  begin
    if radiobutton1.checked then
    radiobutton1.checked := false
    else
      radiobutton1.checked := true;
  end;
end;

Hvad hedder di underform?
Avatar billede zerohero Nybegynder
19. maj 2002 - 18:43 #5
Jeg tror ikke din underform lukkes men bare bliver dækket af din hoved form. Prøv at sætte din underforms FormStyle til fsStayOnTop ...
Avatar billede runem74 Nybegynder
19. maj 2002 - 18:56 #6
Desværre den bliver virklig lukket. Jeg har lige prøvt med fsStayonTop og jeg har også tidligere prøvt at vise formen igen til sidst i FormKeyDown proceduren. Jeg kan også se at min close button som er på formen bliver aktiveret lige inden formen lukkes.

Min underform hedder anno.

Rune
Avatar billede runem74 Nybegynder
19. maj 2002 - 19:03 #7
Jeg har lige lavt et simplet eksempel resultatet er det samme.
Jeg laver to forme. Den ene (hovedformen) aktivere den anden form ved hjælp af en button. Den anden form indeholder kun en button hvor koden er: close;

Når jeg køre dette simple program og aktivere underformen kan jeg igen lukke underformen v.hj.a. space?

Rune
Avatar billede dkn Nybegynder
19. maj 2002 - 19:25 #8
if key = vk_space then
begin
radiobutton1.checked:=not radiobutton1.checked;
key := 0;
end;
Avatar billede runem74 Nybegynder
19. maj 2002 - 19:30 #9
key:=0;

Virker, mange tak.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester