Autor Beitrag
M. Raab
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 334
Erhaltene Danke: 1

WIN 7
Delphi XE
BeitragVerfasst: So 02.03.03 14:13 
Hallo NG,

ich verwende auf meinem Formblatt ein Table - Komponente. Wenn man nun einen Datensatz markiert und mit CTRL+ENTF löschen möchte, erscheint die Meldung: Wollen Sie löschen ? etc. Ich möchte diese Standardmedlung nun ändern. Ich möchte, dass z.B. gefragt wird: Möchten Sie den Datenstatz XY löschen ? Falls dann mit ja geantwortet wird, sollte nochmals eine Bestätigung mit JA erfolgen. Die zweite Bestätigung kann ich mit BEFORE DELETE abfangen und steuern. Wie kann ich aber die Standardmeldung erweitern oder ggfs. selber machen ?

Gruss


Markus
bis11
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1247
Erhaltene Danke: 2

Apple Mac OSX 10.11

BeitragVerfasst: So 02.03.03 14:22 
Hi,

ich nehme mal ganz stark an, dass Du einen DBNavigator benutzt. Du kannst den Klick auf den Delete-Button abfangen und dann dort deine Messages einbauen.

Beispiel aus der Hilfe von Delphi :
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
procedure TForm1.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);

var
  BtnName: string;
begin
  case Button of
    nbFirst  : BtnName := 'nbFirst';
    nbPrior  : BtnName := 'nbPrior';
    nbNext   : BtnName := 'nbNext';
    nbLast   : BtnName := 'nbLast';
    nbInsert : BtnName := 'nbInsert';
    nbDelete : BtnName := 'nbDelete';
    nbEdit   : BtnName := 'nbEdit';
    nbPost   : BtnName := 'nbPost';
    nbCancel : BtnName := 'nbCancel';
    nbRefresh: BtnName := 'nbRefresh';
  end;
  MessageDlg(BtnName + ' button clicked.', mtInformation, [mbOK], 0);

end;
M. Raab Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 334
Erhaltene Danke: 1

WIN 7
Delphi XE
BeitragVerfasst: So 02.03.03 16:04 
Halle,

ne, einen Navigator verwende ich nicht - hätte ich vielleicht sagen sollen.

Ich steuer das über mein Programm. Das DblClick Ereignis habe ich bereits für einen anderen Zweck verwendet. Eine Alternative wäre, auf das Anklicken einer Zelle (einmaliger Klick) zu regaieren. Mein Problem aber:

Wie reagiere ich auf einen Klick in eine beliebige Zelle ?

Wie erkenne ich, welche Zellen markiert wurden, also z.B. über CTRL Taste + Mausklick ? Damit kann man ja mehere, nicht aufeinder folgende Datenzeilen markieren ?

Gruss


Markus