standart dbnavigator butonlarının altına kod yazmak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
kazimates
Üye
Mesajlar: 332
Kayıt: 01 Tem 2005 12:40
Konum: Kıbrıs
İletişim:

standart dbnavigator butonlarının altına kod yazmak

Mesaj gönderen kazimates »

Kıymetli arkadaşlar ben dbnavigator un butonlarına her tıkladığımda her bir butonunun içerisinde farklı kodlar ekleyip bunları yapmasını istiyorum acaba bunun bir çözümü varmıdır varsa nasıl yapabiliriz.

Başarı, sağlık ve mutluluk dileklerimle...
Kullanıcı avatarı
MicroChip
Kıdemli Üye
Mesajlar: 1119
Kayıt: 02 Ağu 2003 01:02
Konum: İstanbul
İletişim:

Mesaj gönderen MicroChip »

her butonda bir olay oluşur delphinin örneklerinde helpinde var bu zaten. olay post mu? ona bakıcan ileri mi ona .......
Kafkas Kartalı Kabarday
Sitesi!= http://www.ahmetceylan.com
Resim
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
dbnavigator un onclick olayında buttontype ı nı kontrol ederek yapabilirsiniz.
kolay gelsin..
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
Fatih!
Kıdemli Üye
Mesajlar: 1172
Kayıt: 26 Kas 2004 10:46
Konum: Malatya
İletişim:

Mesaj gönderen Fatih! »

gimil
Üye
Mesajlar: 33
Kayıt: 28 Ara 2006 10:29
Konum: ank

Mesaj gönderen gimil »

peki buttontype ı nasıl kontrol ediyoruz
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Mesaj gönderen sabanakman »

gimil yazdı:peki buttontype ı nasıl kontrol ediyoruz
FAOsoft yazdı:

Kod: Tümünü seç

procedure TDBForm.DBNavigatorBeforeAction(Sender: TObject;
Button: TNavigateBtn) ;
begin
if (Button = nbinsert) then // Button  adlarrının önüne nb ekleyerek kullanın
begin
SysUtils.Abort; //Ekleme eylemini iptal et.
end;
end;
Cevap verilmiş zaten bu soruyu biraz okuma yapsaydın sormana gerek kalmazdı.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
gimil
Üye
Mesajlar: 33
Kayıt: 28 Ara 2006 10:29
Konum: ank

Mesaj gönderen gimil »

peki hocam dbnavigatör butonlarının herbirinin altında bir kod var
ben o kodlara müdahale edebilirmiyim

mesela silinmesini istemediğim kayıtlar var onu silmeye çalıştıklarında silinmemesini istiyorum
Kullanıcı avatarı
MoSoft
Üye
Mesajlar: 80
Kayıt: 10 Nis 2005 10:45
Konum: Askerden....
İletişim:

Mesaj gönderen MoSoft »

bende üzerindeki resimlerin yerine yazdığım yazıların görünmesini istiyorum bunu nasıl yapabilirim. ok işaretlerinin yerine ilk son kaydet sil gibi olursa buton eklemekten kurtulacam :D
Şafak 300 ( 10.04.2005) dü artık Yok....

http://www.ucretsizyazilim.com
Kısaca Ben : http://www.google.com.tr/search?hl=tr&q ... 5%9F&meta=
gimil
Üye
Mesajlar: 33
Kayıt: 28 Ara 2006 10:29
Konum: ank

Mesaj gönderen gimil »

@MYSOFT

forumda dbnavigator diye aratırsan o konuda bi açıklama vardı galiba
gimil
Üye
Mesajlar: 33
Kayıt: 28 Ara 2006 10:29
Konum: ank

Mesaj gönderen gimil »

Eğer DBNavigator butonuna tıklamayla oluşan eylemi iptal etmek ihtiyacınız varsa, bunu componentin BeforeAction olayında aşağıdaki kodu yazarak halledebilirsiniz.

Kod:
procedure TDBForm.DBNavigatorBeforeAction(Sender: TObject;
Button: TNavigateBtn) ;
begin
if (Button = nbinsert) then // Button adlarrının önüne nb ekleyerek kullanın
begin
SysUtils.Abort; //Ekleme eylemini iptal et.
end;
end;



DbNavigator'ün ShowHint özelliği True yapılarak bu düğmelerin ne işe yaradığı üzerine gelindiği zaman yazacaktır. Bu Yazıları Türkçeleştirmek isterseniz Bileşenin Hints Özelliğinden yaralanabilirsiniiz.


ConfirmDelete Özelliğini False yaparaak Kaydı silerken onay istememesini,

visibleButtons özelliği altında bulunan seçeneklerlede istediğiniz buttonun görünmemesini sağlayabilirsiniz

TDBNavigator Bileşeninin Resimlerini Değiştirme

Kod:
procedure ChangeDBNavImage(DBnav: TDbNavigator);
var
i: Integer;
tempGlyph: TBitmap;
ExePath: string;
begin
ExePath := ExtractFilePath(Application.ExeName);
tempGlyph := TBitmap.Create;
try
with DBNav do begin
for i := 0 to ControlCount - 1 do begin
if Controls.ClassName = 'TNavButton' then begin
case TNavButton(Controls).Index of
nbFirst: tempGlyph.LoadFromFile(ExePath + 'first.bmp');
nbPrior: tempGlyph.LoadFromFile(ExePath + 'previous.bmp');
nbNext: tempGlyph.LoadFromFile(ExePath + 'Next.bmp');
nbLast: tempGlyph.LoadFromFile(ExePath + 'Last.bmp');
nbInsert: tempGlyph.LoadFromFile(ExePath + 'Insert.bmp');
nbDelete: tempGlyph.LoadFromFile(ExePath + 'Delete.bmp');
nbEdit: tempGlyph.LoadFromFile(ExePath + 'Edit.bmp');
nbPost: tempGlyph.LoadFromFile(ExePath + 'Post.bmp');
nbCancel: tempGlyph.LoadFromFile(ExePath + 'Cancel.bmp');
nbRefresh: tempGlyph.LoadFromFile(ExePath + 'Refresh.bmp');
end;
TNavButton(Controls).Glyph := tempGlyph;
end;
end;
end;
finally
tempGlyph.Free;
end;
end;


Kullanımı

Kod:
procedure TForm1.Button1Click(Sender: TObject);
begin
ChangeDBNavImage(DBNavigator1);
end;
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Mesaj gönderen sabanakman »

gimil yazdı:peki hocam dbnavigatör butonlarının herbirinin altında bir kod var
ben o kodlara müdahale edebilirmiyim

mesela silinmesini istemediğim kayıtlar var onu silmeye çalıştıklarında silinmemesini istiyorum

Kod: Tümünü seç

procedure TForm1.DBNavigator1BeforeAction(Sender: TObject;Button: TNavigateBtn);
begin
  case Button of
    nbFirst:;
    nbPrior:;
    nbNext:;
    nbLast:;
    nbInsert:;
    nbDelete:begin
      ShowMessage('Silme işlemi yapamazsınız.');
      Abort;
    end;
    nbEdit:;
    nbPost:;
    nbCancel:;
    nbRefresh:;
  end;
end;
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Cevapla