Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 3 odgovora
  • 2.571 pregleda

Najnovija ↓

TListView i editovanje 25.02.2005. u 18:14 · pre 263 meseca #1
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.
Re: TListView i editovanje 26.02.2005. u 06:57 · pre 263 meseca #2
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.
Re: TListView i editovanje 26.02.2005. u 12:43 · pre 263 meseca #3
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 :)
Re: TListView i editovanje 26.02.2005. u 16:39 · pre 263 meseca #4
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...
https://www.elitesecurity.org/t96990-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 https://www.elitesecurity.org/t97551-tabele-nasa-slova
(tnx2engineer).

Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme