Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Prikaz forme bez fokusa

[es] :: Pascal / Delphi / Kylix :: Prikaz forme bez fokusa

[ Pregleda: 2114 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

00000110001

Član broj: 22138
Poruke: 38
*.touchit.at.



Profil

icon Prikaz forme bez fokusa07.12.2010. u 09:02 - pre 162 meseci
Pozdrav

Kako prikazati formu 2 bez da se izgubi fokus sa form 1?

opis:
- na formi 1 se nalaze razlicite komponente
- forma 2 sluzi kao virtualna tastatura, keybd_event()
- u formi 2 untura FormShow je SetWindowsPos(Handle, HWND_TOPMOST, ...)
- za simuliranje tastature na formi 2 se koriste komponente koje ne uzimaju focus (grafika), tako da na formi 2 ne postoji komponenta koja treba ili ima focus

mislim da je jasno sta mi treba :)
sa forme 1 klikom na neki button pokrenem formu 2 (tastaturu) itd. i onda unosim ili mjenjam tekst na formi 1

to za sad radi jer ja sa forme 2 saljem focus na formu 1 "TWinControl(Form1).SendFocus;" prije nego sto pozovem keybd_event()
ali problem je sto neke komponente na formi 1 nakon sto izgube focus i ponovo dobiju focus markiraju unesen tekst pa se s tim uvijek brise kompletan sadrzaj

ima li neko neku ideju kako se ovo moze rijesti?
unaprijed hvala
 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: Prikaz forme bez fokusa07.12.2010. u 10:32 - pre 162 meseci
Zašto koristiš formu za virtualnu tastaturu? Mislim da bi bilo lakše da staviš panel npr.
F
 
Odgovor na temu

00000110001

Član broj: 22138
Poruke: 38
*.touchit.at.



Profil

icon Re: Prikaz forme bez fokusa07.12.2010. u 12:13 - pre 162 meseci
formu koristim iz razloga sto je aplikacija u fullscreen-u, a polja za editovanje se nalaze na rzlicitim pozicijama,
s toga mi je i potrebno da virtualnu tastaturu mogu pomjerati, znaci ako je neko polje iza tastature samo tastaturu pomjeris malo u desno i dalje kucas
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Prikaz forme bez fokusa07.12.2010. u 16:10 - pre 162 meseci
> - forma 2 sluzi kao virtualna tastatura, keybd_event()
> - u formi 2 untura FormShow je SetWindowsPos(Handle, HWND_TOPMOST, ...)

Nećeš moći da pozivaš formu sa Show (bez nekih većih izmena) jer po defaultu se prozor aktivira. Možeš npr. napraviti formu i pozvati SetWindowsPos sa SWP_NOACTIVATE flagom.
 
Odgovor na temu

salaczr

Član broj: 160654
Poruke: 103
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Prikaz forme bez fokusa16.12.2010. u 21:16 - pre 162 meseci
> - ali problem je sto neke komponente na formi 1 nakon sto izgube focus i ponovo dobiju focus markiraju unesen tekst pa se s tim uvijek brise kompletan sadrzaj

> - ima li neko neku ideju kako se ovo moze rijesti?

Moguce resenje je da koristis neki Temp string prilikom slanja kontroli na Form1, tacnije nemoj slati samo karakter koji je otkucan nego ga belezi u neki Temp pa kontroli na Form1 salji ceo Temp string.

Drugo resenje, cini mi se elegantnije, je sa SendMessage pogledaj primere:

http://www.cryer.co.uk/brian/d...send_custom_window_message.htm

http://www.delphitricks.com/so..._message_with_sendmessage.html

pozdrav
 
Odgovor na temu

lan-mi
Lukic Milan
Zrenjanin

Član broj: 156359
Poruke: 140
*.dynamic.sbb.rs.

Sajt: https://lanmisoft.com


+1 Profil

icon Re: Prikaz forme bez fokusa19.12.2010. u 20:30 - pre 162 meseci
Napravio sam jedan prost primer sa dve forme i timerom, jednostavno ali radi.

procedure TForm1.Button1Click(Sender: TObject);
begin
form2.Show;//fsStayOnTop
end;



procedure TForm2.Button1Click(Sender: TObject);
begin
form1.Edit1.Text:=form1.Edit1.Text+Inttostr(Random(9));
timer1.Enabled:=true;
end;

//Timer1.Interval:=100; Timer1.enabled:=false u Object Inspektor-u

procedure TForm2.Timer1Timer(Sender: TObject);
begin
form2.Button1.SetFocus;
timer1.Enabled:=false;
end;

end.
Arduino Control Center
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Prikaz forme bez fokusa

[ Pregleda: 2114 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.