Programlama | Programlama Dilleri | C Programlama Dili |C++

Anasayfa Programlama C++ Builder Application OnMessage


Application OnMessage

AÇIKLAMA

C++ Builder 6 ile uyumludur. Bu programda windows mesajları üzerine bir çalışma yapılmıştır. Application->OnMessage ifadesi programdan windows mesajları sırasında yapılması gereken işlemler için mesajisle fonksiyonunu atanmıştır. mesajisle fonksiyonunun yapısına baktığınızda Message.wParam ifadesi ile pencerenin tam ekran mı yapıldığı yoksa simge durumuna mu küçültüldüğüne dair hexadecimal code elde edilir. Burada dikkat edilmesi gereken husus simge durumuna küçültme işlemi için windows araç çubuğu üzerinden tıklama işlemi yapılması gerekir. Aynı şekilde pencereyi tam ekran moduna getirme işlemi için ise programdaki form çubuğunda üzerinde sağ tıklayıp Ekranı Kapla linkine tıklanması durumunda çalışacaktır.Bu kısımda akıllaraşu soru gelecektir pencere üzerindeki simge durumuna küçült veya ekranı kapla ifadelerine tıklarsak ne olacak cevap da şu program hiçbir tepki vermeyip normal windows işlemi yapılacaktır. Çünkü o kısımlara ait windows mesaj ifadeleri farklıdır bizim kontrol ettiğimiz mesaj ifadeleri ise dediğim şekilde windows araç çubuğuna tıklanma işlemidir ki o şekilde simge durumuna küçülte işlemi yaparsanız "Simge durumuna küçült" ifadesi ekrana basılacaktır. Yine benzer şekilde form üzerinde sağ click Ekranı Kapla derseniz Ekranı Kaplamak Mı İstiyorsunuz? şeklinde bir onay penceresi belirecektir.

Programın Tamamını Aşağıdaki Linkten İndirebilirsiniz

Linki Görebilmeniz İçin Üye Olmanız Gerekmektedir...

Üye Kayıt 

Program Kodu:

Unit1.cpp

  1. //---------------------------------------------------------------------------
  2.  
  3. #include <vcl.h>
  4. #pragma hdrstop
  5.  
  6. #include "Unit1.h"
  7. //---------------------------------------------------------------------------
  8. #pragma package(smart_init)
  9. #pragma resource "*.dfm"
  10. TForm1 *Form1;
  11. //---------------------------------------------------------------------------
  12. __fastcall TForm1::TForm1(TComponent* Owner)
  13.         : TForm(Owner)
  14. {
  15. }
  16. //---------------------------------------------------------------------------
  17.  
  18.  
  19. void __fastcall TForm1:: mesajisle(tagMSG &Message,bool &handled)
  20. {
  21.   int c;
  22.   if(Message.message==0x112)
  23.   switch (Message.wParam )
  24.   {
  25.    case 0xF030 :
  26.    c=Application->MessageBox("Ekranı Kaplamak Mı İstiyorsunuz?","Ekranı Kapla",MB_YESNO+MB_ICONQUESTION);
  27.    if(c==IDNO)
  28.    handled=true;
  29.    break;
  30.    case 0xF020 :
  31.    ShowMessage ("Simge Durumuna Küçült");
  32.    break;
  33.   }
  34. }
  35. void __fastcall TForm1::FormCreate(TObject *Sender)
  36. {
  37. Application->OnMessage=mesajisle;
  38. }
  39. //---------------------------------------------------------------------------
  40.  
  41.  
  42.  
  43.  

Yorumlar (0)
Sadece kayıtlı kullanıcılar yorum yazabilir!
Son Güncelleme ( Pazar, 02 Eylül 2012 23:50 )