IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 16 Nisan 2010, 12:59   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Application.Messagebox Kullanımı




Kütüphane: Forms

Orjinal Function:

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
function TApplication.MessageBox(const TextCaptionPCharFlagsLongint): Integer;
var
  
ActiveWindowTaskActiveWindowHWnd;
  
WindowListPointer;
  
MBMonitorAppMonitorHMonitor;
  
MonInfoTMonitorInfo;
  
RectTRect;
  
FocusStateTFocusState;
begin
  ActiveWindow 
:= ActiveFormHandle;
  if 
ActiveWindow 0 then
    TaskActiveWindow 
:= Handle
  
else
    
TaskActiveWindow := ActiveWindow;
  
MBMonitor := MonitorFromWindow(ActiveWindowMONITOR_DEFAULTTONEAREST);
  
AppMonitor := MonitorFromWindow(HandleMONITOR_DEFAULTTONEAREST);
  if 
MBMonitor <> AppMonitor then
  begin
    MonInfo
.cbSize := Sizeof(TMonitorInfo);
    
GetMonitorInfo(MBMonitor, @MonInfo);
    
GetWindowRect(HandleRect);
    
SetWindowPos(Handle0,
      
MonInfo.rcMonitor.Left + ((MonInfo.rcMonitor.Right MonInfo.rcMonitor.Leftdiv 2),
      
MonInfo.rcMonitor.Top + ((MonInfo.rcMonitor.Bottom MonInfo.rcMonitor.Topdiv 2),
      
00SWP_NOACTIVATE or SWP_NOREDRAW or SWP_NOSIZE or SWP_NOZORDER);
  
end;
  
WindowList := DisableTaskWindows(ActiveWindow);
  
FocusState := SaveFocusState;
  if 
UseRightToLeftReading then Flags := Flags or MB_RTLREADING;
  try
    
Result := Windows.MessageBox(TaskActiveWindowTextCaptionFlags);
  finally
    if 
MBMonitor <> AppMonitor then
      SetWindowPos
(Handle0,
        
Rect.Left + ((Rect.Right Rect.Leftdiv 2),
        
Rect.Top + ((Rect.Bottom Rect.Topdiv 2),
        
00SWP_NOACTIVATE or SWP_NOREDRAW or SWP_NOSIZE or SWP_NOZORDER);
    
EnableTaskWindows(WindowList);
    
SetActiveWindow(ActiveWindow);
    
RestoreFocusState(FocusState);
  
end;
end

Parametreleri [Buttonlar]

-> MB_OK => Tamam
-> MB_OKCANCEL => Tamam - İptal
-> MB_ABORTRETRYIGNORE => Bitir - Tekrar Dene - Yoksay
-> MB_YESNOCANCEL => Evet - Hayır - İptal
-> MB_YESNO => Evet - Hayır
-> MB_RETRYCANCEL => Tekar Dene - iptal


Parametreleri [Iconlar]
Delphi 2007'deki sıraya göre arkadaşlar, Delphi 7'de sanırım daha azdı
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


MB_ICONHAND
Önizleme:


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.




MB_ICONQUESTION
Önizleme:

Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.




MB_ICONEXCLAMATION

Önizleme:

Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.




MB_ICONASTERISK
Önizleme:

Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.




MB_ICONWARNING

Önizleme:

Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.




MB_ICONERROR
Önizleme:

Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.




MB_ICONINFORMATION
Önizleme:

Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.




MB_ICONSTOP
Önizleme:

Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.




MB_ICONMASK
Kendi Seçtiğiniz bi icon



Kullanımı :

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
Application.MessageBox('MESAJ' 'BAŞLIK'BUTTONLAR or DİALOG ICONU); 

öRNEK:

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
Application.MessageBox('Değişiklikleri Kaydetmek İstiyormusunuz?','abc v1.0'MB_OKCANCEL or MB_ICONQUESTION); 

Tıklanan Buttona Göre İşlem Yapmak:

Örnek:

Bir editör yaptınız ve editörde memo kullandığımızı varsayıyoruz.. ve diyoruz ki benim memo düzenlendiyse form kapanırken bana kaydetmek isteyip istemediğimi sorsun...

formun onCloseQuery olayına aşağıdaki kodu yazmamız yeterli olucak...

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if Memo1.Modified then  // memo düzenlendiyse ...
  
begin
  
// değişikliklerin kaydedilim kaydedilmeyeceğini sorsun
   
case Application.MessageBox('Değişiklikleri Kaydetmek İstiyormusunuz?','abc v1.0'MB_YESNO or MB_ICONQUESTIONof
    IDYES
:  // cevap evetse
     
begin
       
if SaveDialog1.Execute then  // save dialog penceresini çalıştırsın (çalıştırdıysa)
      
memo1.Lines.SaveToFile(SaveDialog1.FileName); // memo nun içindeki veriyi save dialogda seçilen yer ve isme kaydetsin
     
end;
    
IDNO // hayır seçilirse ( kaydedilmesin )
  // programın kapatılıp kapatılıcağını sorsun  
    
CASE Application.MessageBox('Programı Kapatmak İstediğinizden Eminmisiniz?','ABC V1.0'MB_YESNO or MB_ICONQUESTIONOF
    IDYES 
Application.Terminate// cevap evetse programı sonlandırsın
    
IDNO  abort// hayır sa işlemi durdursun... 
 
end;
 
end;
  
end

Yazar: Ali Yeşiloğlu

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları sohbet odaları Benimmekan Mobil Sohbet
Cevapla

Etiketler
applicationmessagebox, kullanımı


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
WPF Application Image Kullanımı – Resim Ekleme Deep Programlama 0 28 Eylül 2014 01:13
C# Console Application Örnekleri CeSaRCripS C# 0 27 Mart 2013 13:00
Java FX MessageBox kütüphanesi ve kullanımı nasıldır? YazılımMimarı Java 0 27 Kasım 2012 16:32
ASP.NET Caching Application Sunay ASP/ASP.NET 0 24 Nisan 2010 00:45