Kodbank İndir

! CODEBANK 2012 !

İNDİRMEK&DETAYLI BİLGİ ALMAK İÇİN BURAYI TIKLAYINIZ.

ÖNEMLİ AÇIKLAMA: MUTLAKA OKUYUNUZ!

Gönderen Konu: Mesaj Penceresi (MesasageBox)  (Okunma sayısı 1994 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı Fatih

  • Emekli Yönetici
  • *****
  • İleti: 2.217
  • Rep: +43/-10
  • Cinsiyet: Bay
    • Delphi Dünyası
Mesaj Penceresi (MesasageBox)
« : 11 Mayıs 2006 14:12:43 »
Alıntı yapılan: Belirtilmemiş
Bu yazı yazarın Delphi’nin .NET uyumlu versiyonunu konu ettiği kitabının Api fonksiyonları adlı bölümün bir kısmıdır. http://www.seckin.com.tr/urun.aspx?productID=6451


MesasageBox() Fonksiyonu

Windows’un MessageBox() fonksiyonundan yararlanıp mesaj verip kullanıcıdan onay almaya yarayan diyalog kutusunu ekrana getirebilirsiniz. Bu fonksiyonu yukarıda sözünü ettiğim her 3 teknik ile kullanmayı deneyeceğim. İlk olarak Borland.Vcl.Windows’u koda dahil edip aşağıda verdiğim kodu yazdım.

Kod: [Seç]
Var
    Secim : LongInt;
    Ptr : HWND;
    Yazi : Graphics;
    Yazi_tipi : System.Drawing.Font;
    Nokta : PointF;
    Firca : SolidBrush;
Begin
   Secim := MessageBox(Ptr, 'Dosya Silinsin mi?','Silme Onayı', 35);
   Yazi := self.CreateGraphics;
   Nokta := PointF.Create(30, 40);
   Firca := SolidBrush.Create(Color.Blue);
   Yazi_tipi :=System.Drawing.Font.Create('Tahoma',14,FontStyle.Bold);
   If Secim = 6 Then
       Yazi.DrawString('Evet düğmesini tıkladınız', Yazi_tipi, Firca, Nokta)
   Else If Secim = 7 Then
       Yazi.DrawString('Hayır düğmesini tıkladınız', Yazi_tipi, Firca, Nokta)
  Else If Secim = 2 Then
       Yazi.DrawString('İptal düğmesini tıkladınız', Yazi_tipi, Firca, Nokta);
 end;

Bu kod işletilip diyalog kutusundaki düğmelerden birisi tıklandığında tıklanan düğmeye göre formun üzerine mesaj yazılır. Bu örnekte kullanılan System.Drawing’de tanımlı olan Graphics sınıfı hakkında daha önce bilgi verilmişti.



Fonksiyonu bu şekilde deklare ettikten sonra yukarıda verdiğim kodda küçük bir değişiklik yaptım. Yukarıda verdiğim kodda bu fonksiyonun 1. parametresi HWND tipindeydi.  HWND tipi Borland.Vcl.Windows’de tanımlı olduğu için 1. parametrenin LongInt tipinde olmasını sağladım.



Şimdi ise bu fonksiyonu C#’taki gibi deklare edip System.Runtime.InteropServices’den  yararlanıp kullanacağım. Bu Namespace’i koda dahil ettikten sonra deklarasyonu aşağıdaki gibi yaptım.  Bu şekilde deklare edilen fonksiyon istenildiği gibi kullanılabilir.


Malulen emekli programcı / yazar. Bildiklerini unutmakta olduğundan size cevap veremez.