CYFROWY BARON • PROGRAMOWANIE • Zobacz wÄ…tek - blokada kasowania

blokada kasowania

dział ogólny

blokada kasowania

Nowy postprzez admszczep » wtorek, 3 lipca 2012, 08:55

Mam bazę danych w podpiętą do DBGrid i w momencie wciśnięcia kombinacji klawiszy ctrl+del automatycznie wysyłane jest zdarzenie powodujące kasowanie rekordu. Chce w zdarzeniu Table beforeDelete przerwać kasowanie tylko jak ?
Avatar użytkownika
admszczep
Homos antropiczny
Homos antropiczny
 
Posty: 66
Dołączył(a): wtorek, 3 listopada 2009, 23:25
PodziÄ™kowaÅ‚ : 2
OtrzymaÅ‚ podziÄ™kowaÅ„: 0
System operacyjny: Windows XP PRO SP3
Kompilator: Embarcadero RAD Studio XE
C++Builder XE
Gadu Gadu: 0
    Windows XPFirefox

Re: blokada kasowania

Nowy postprzez Cyfrowy Baron » wtorek, 3 lipca 2012, 19:32

admszczep napisał(a):Chce w zdarzeniu Table beforeDelete przerwać kasowanie tylko jak ?


Zdarzenie OnBeforeDelete nie odnosi siÄ™ do kombinacji klawiszy Ctrl+Del lecz do zdarzenia w tabeli przed skasowaniem rekordu. W tym zdarzeniu tego nie zablokujesz.

Ustaw formularzowi właściwość KeyPreview na true. Następnie utwórz dla formularza zdarzenie OnKeyDown i wprowadź w nim taki kod:

KOD cpp:   •  UKRYJ  •
void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key, TShiftState Shift)
{
 if(Shift.Contains( ssCtrl ) && Key == 46) Key = 27;
}

To powinno zablokować tą kombinację klawiszy w tym oknie, a nie tylko w tabeli. Co się jeszcze tyczy zdarzenia OnBeforeDelete to jeżeli nic nie skasujesz w tabeli to i zdarzenie nie wystąpi.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przeglÄ…da forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 4 gości