Avatar billede pb1 Nybegynder
04. oktober 2007 - 21:25 Der er 9 kommentarer

Form2 har ikke focus når er i tray

Hej exp,

Har et problem som jeg bare ikke kan løse!?

Jeg bruger cooltrayicon til at minimer mit program til tray, og via en hotkey aktivere jeg form2! Men når programmet er minimeret i tray så bliver form2 aldrig vist med focus?!


      if not assigned(Form2) then
      begin
        Form2 := TForm2.Create(self);

        Form2.FormStyle := fsStayOnTop;
        Form2.BringToFront;
        Form2.WindowState := wsNormal;
        Form2.SetFocus;
        Form2.ShowModal;
        Form2.Free;
      end;
Avatar billede martinlind Nybegynder
04. oktober 2007 - 21:36 #1
if not assigned(Form2) then
      begin
        Form2 := TForm2.Create(self);

        Form2.FormStyle := fsStayOnTop;
        Form2.BringToFront;
        Form2.WindowState := wsNormal;
        //Form2.SetFocus; << ShowModal skulle gerne sætte din form Active
        Form2.ShowModal;
        FreeAndNil(Form2); << Så er du sikker på at dit assigned check virker hver gang
      end;
Avatar billede martinlind Nybegynder
04. oktober 2007 - 21:37 #2
Det problem lyder mærkeligt, du kan evt. prøve at lave en setfocus på den component der skal ha' focus når du show'er form2, det skal du så lægge i onshow på form2
Avatar billede pb1 Nybegynder
04. oktober 2007 - 22:20 #3
Har prøvede at sætte setfocus på en componenterne, men virker stadig ikke. Den får ikke focus.
Avatar billede martinlind Nybegynder
05. oktober 2007 - 08:27 #4
Du må gøre noget der gør at det ikke virker, jeg har brugt trayicon mange gange uden problemer :)

Det er svært at se ud fra den stump kode du har vist, men du har ihvert fald misforstået lidt, bringtofront og setfocus er functioner man bruger når formen ER vist og det sker jo først med showmodal
Avatar billede pb1 Nybegynder
05. oktober 2007 - 15:31 #5
Har prøvede bringtofront og setfocus på begge sider af ShowModal. Har prøvede at give formen alway on top ..

Den vil bare ikke have focus.. kan jeg ikke tvinge den på en eller anden måde?
Avatar billede martinlind Nybegynder
05. oktober 2007 - 16:50 #6
ved ikke lige hvordan du kunne gøre, men jeg synes nu det lyder som om der er "noget der tager focus fra den igen" hvis du forstår hvad jeg mener, har du prøvet med et breakpoint ved showmodal og så steppe igennem og se hvad den laver ?
Avatar billede pb1 Nybegynder
06. oktober 2007 - 18:36 #7
Har prøvede.. men er ikke i stand til at finde ud af hvad det er der tager focus...
Virker fint hvis jeg gøre det mens Form1 har focus og ikke er minimeret til tray..

Men som sagt når programmet ligger i tray og programmet ikke har focus, og jeg så bruger min hotkey til at åbne form2.. så virker det ikke.
Avatar billede martinlind Nybegynder
07. oktober 2007 - 00:14 #8
hmmm... mærkeligt :(
Avatar billede pb1 Nybegynder
29. oktober 2007 - 23:11 #9
Er der ikke nogen der har en ide?
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