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

TListView i editovanje

[es] :: Pascal / Delphi / Kylix :: TListView i editovanje

[ Pregleda: 1989 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

IgLo
Igor Lovric
Sremski Karlovci

Član broj: 19524
Poruke: 129
*.neobee.net.

Sajt: www.unicornsoft.net


Profil

icon TListView i editovanje25.02.2005. u 17:14 - pre 233 meseci
Da li je neko imao ovakvih problema, a da je jos uspeo i da ih resi?

Na formi imam jedan TListView koji se zove PwdList, ViewStyle je vsReport, ReadOnly je False, ima jednu kolonu i u OnKeyDown za ListView je sledeci kod:

Code:

  Case Key Of
    vk_F2     : If (PwdList.Selected <> Nil) Then PwdList.Selected.EditCaption;
    vk_Escape : Close;
    vk_Return : btn_Unlock.Click;
    vk_Delete : mnu_DeleteClick (Self);
  End;

1. problem:
Za vreme editovanja Captiona nekog Item-a (znaci kada pritisnem F2 na njega),KeyDown se poziva kada pritisnem Delete, ali se ne poziva kada pritisnem Escape ili Enter.

Kako da detektujem da li je pritisnuto Esc ili Enter? Moguce je preko OnEdited eventa, ali samo u slucaju da sam napravio neke izmene. Ako ne napravim nikakve izmene nego recimo samo kopiram sadrzaj, event se ne poziva.

Usput, iz ovog primera, malo glupo izgleda to sto hocu da detektujem Esc i Enter, ali ima tu jos nekog koda okolo, zbog kojeg mi je potrebno.

2. problem
Kada sa Ctrl-C kopiram sadrzaj Caption-a za vreme editovanja, gube se Yu slova?!?!? Kada za vreme editovanja Caption-a ukucam YU slova, pretvore se u c, s i sl.
 
Odgovor na temu

_v!rus_
BGD

Član broj: 40451
Poruke: 313
*.vdial.verat.net.



+1 Profil

icon Re: TListView i editovanje26.02.2005. u 05:57 - pre 233 meseci
TListView kontrola dok je u captionedit rezimu ima svoju obradu za enter i esc (snimi izmenu i ponisti izmenu captiona) ali izgleda da "guta" tu poruku posle obrade. E sad, zavisi sta hoces da uradis sa enter i esc, ali bi neko univerzalno resenje bilo presretanje i prosledjivanje same poruke o pritisnutom tasteru pre nego sto poruka dodje do TListView kontrole, a to mozes postici sa npr. TApplicationEvents kontrolom.
 
Odgovor na temu

IgLo
Igor Lovric
Sremski Karlovci

Član broj: 19524
Poruke: 129
*.neobee.net.

Sajt: www.unicornsoft.net


Profil

icon Re: TListView i editovanje26.02.2005. u 11:43 - pre 233 meseci
Citat:

a to mozes postici sa npr. TApplicationEvents kontrolom.

Svaka cast za ovo,... Upalilo je, nisam nikada koristio TApplicationEvents, zapravo nisam ni znao da postoji, ovo mi resava jos gomilu drugih problema.

Ako nekome nekada bude trebalo isto ovo sto i meni, evo je procedura:

Code:

procedure TMainForm.ApplicationEvents1Message(var Msg: tagMSG;
  var Handled: Boolean);
begin
  If Editing And (Msg.message = WM_KEYDOWN) And
     ((Msg.wParam = VK_RETURN) Or (Msg.wParam = VK_ESCAPE)) Then
      Editing := False;
  Hendled := False;
end;


Ostaje jos ono sa YU slovima, ako neko ima neku ideju
 
Odgovor na temu

_v!rus_
BGD

Član broj: 40451
Poruke: 313
*.vdial.verat.net.



+1 Profil

icon Re: TListView i editovanje26.02.2005. u 15:39 - pre 233 meseci
Citat:

nisam nikada koristio TApplicationEvents, zapravo nisam ni znao da postoji, ovo mi resava jos gomilu drugih problema.

:)))))))))))))))))))
i ja sam ISTO rekao...vidi samo temu DBGrid i MWheel...
http://www.elitesecurity.org/tema/96990-DBGrid-MouseWheel
(tnx2sasas)


St se tice Yu slova, VCL32 je dizajniran da radi na windowsima 4+, tako da nema punu Unicode podrsku, skini TNT kontrole sa neta http://www.tntware.com/delphicontrols/unicode/, odlicne su.
I vidi temu http://www.elitesecurity.org/tema/97551-tabele-nasa-slova
(tnx2engineer).

 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: TListView i editovanje

[ Pregleda: 1989 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

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