Avatar billede vallemanden Nybegynder
31. januar 2005 - 15:28 Der er 9 kommentarer og
1 løsning

F10 og 'mainmenu' komponent

Jeg skal bruge F10 tasten til at åbne en form2 fra form1, det har jeg fået den til MEN jeg bruger mainmenu komponet på form1 så den 'fanger' F10 tasten og sætter fucus på den første menu, kan dette disables? så mainmenu IKKE fanger nogen 'hotkey' eller F-taster?


jeg bruger Delphi7 pro og win XP pro
Avatar billede claes65 Nybegynder
10. februar 2005 - 13:36 #1
Hej, du behøver ikke bruge en TMenu til at fange F10-tasten. Du kan bruge Form1's OnShortCut-event på følgende måde:

procedure TForm1.FormShortCut(var Msg: TWMKey; var Handled: Boolean);
begin
  if Msg.CharCode = VK_F10 then
  begin
    Handled := True;
    Form2.Show;
  end;
end;

Hilsen Claes
Avatar billede vallemanden Nybegynder
10. februar 2005 - 14:51 #2
Jeg bruger heller ikke Tmenu til at fange f tasterne, men den fanger selv F-10 og det 'MÅ' den ikke
Avatar billede claes65 Nybegynder
10. februar 2005 - 15:02 #3
Så forstår jeg ikke dit problem (og at dømme efter antallet af svar, er der heller ikke andre der gør...) Kan du ikke uddybe dit problem eller alternativt vise noget kode...?
Avatar billede vallemanden Nybegynder
10. februar 2005 - 15:36 #4
hmm, prøver...

Jeg har en form hvor jeg har en mainmenu komponet på, samtidig har jeg nogle knappper som der hedder F-1 til F-12 hvis jeg så trykker på F-10 knappen ELLER F-10 tasten, så fanger mainmenu komponeten tasten godt nok bliver form2 åbnet men bliver smidt bagved form1 og mainmenu komponenten åbner dens første menu (f.eks. Files)

Håber det hjælp
Avatar billede claes65 Nybegynder
10. februar 2005 - 17:04 #5
Ok, men du har vel kodet at F10-tasten skal virke som F10-knappen et eller andet sted? Hvor og hvordan? Jeg troede du havde brugt ShortCut property på et af menupunkterne, men det har du ikke. Hvordan så?
Avatar billede vallemanden Nybegynder
10. februar 2005 - 17:12 #6
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=vk_F10 then SpeedButton10Click(Sender);
end;
Avatar billede claes65 Nybegynder
10. februar 2005 - 17:57 #7
Aha, nu forstår jeg... Det er simpelthen en standard Windows funktionalitet at F10 skal aktivere menuen. Jeg prøvede det i en række andre programmer, og det er nøjagtigt det samme. Jeg ved ikke om det kan slås fra - men ellers kan du jo bruge Ctrl+Ftast i stedet for. Eller fjerne menuen... ;)
Avatar billede vallemanden Nybegynder
10. februar 2005 - 18:40 #8
Der er ikke rigtig nogen af de valg jeg kan bruge  :-)
Avatar billede claes65 Nybegynder
10. februar 2005 - 18:44 #9
Tough luck ... :(
Avatar billede vallemanden Nybegynder
17. februar 2005 - 06:45 #10
nå mon ikke det er på tide at lukke dette spg
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