Form onminimize

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Abrak
Üye
Mesajlar: 189
Kayıt: 18 Kas 2004 05:30

Form onminimize

Mesaj gönderen Abrak »

selam;
Ben yavru formların (fsMDIChild) onminimized olayını kontrol altında tutmak istiyorum fakat yapamadım

Kod: Tümünü seç

FormResize //olayı geç algıladığı için sağlıklı olmuyor
TApplicationEvents //anaformda işliyor diğer forma uygulayamadım
Hangi yöntem üzerinde yoğunlaşmam gerektiği konusunuda yol gösterebilirseniz çok sevinirim...
Başkasına Olan Saygımız.. Kendimize Olan saygıdır..
ng
Üye
Mesajlar: 192
Kayıt: 01 Mar 2004 11:49
Konum: Bursa
İletişim:

Mesaj gönderen ng »

aklıma ilk gelen minimize düğmesini iptal edip, minimize işlemi için bir buton koymak. Bu butona basınca da yapmak istediğini yapabilirsin.
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Yapmak istediğiniz Forum'u minimize etmekse Formların WindowState (Form1.WindowState := wsMinimized;) özelliklerinden yararlanmanız yeterli olacaktır ya da Uygulamayı etkileyecek işlem yapmak istiyorsanı Application.Minimize; demen yeter.

Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Abrak
Üye
Mesajlar: 189
Kayıt: 18 Kas 2004 05:30

Mesaj gönderen Abrak »

husonet yazdı:Yapmak istediğiniz Forum'u minimize etmekse Formların WindowState (Form1.WindowState := wsMinimized;) özelliklerinden yararlanmanız yeterli olacaktır ya da Uygulamayı etkileyecek işlem yapmak istiyorsanı Application.Minimize; demen yeter.

Kolay Gelsin...
application.minimize && application.onminimize ana form olarak kontrol edebiliyorum ben ise ana form harici formları kontrol etmek istiyorum yani wintooldaki minimize tuşu tıkladığında veya form minimize edildiğinde şunları yap gibi applicationda formları ayrı ayrı kontrol edebiliyormuyuz bilemiyorum
Başkasına Olan Saygımız.. Kendimize Olan saygıdır..
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Siz yazdığımı msj ı okudunuzmu?

Form2.WindowState := wsMinimized;
Form3.WindowState := wsMinimized;


Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Abrak
Üye
Mesajlar: 189
Kayıt: 18 Kas 2004 05:30

Mesaj gönderen Abrak »

husonet yazdı:Siz yazdığımı msj ı okudunuzmu?

Form2.WindowState := wsMinimized;
Form3.WindowState := wsMinimized;
Ben okudumda derdimi anlatamadım ilginize teşekkür ederim :oops:
ama ben bu arada sanırım event yazmayı öğrenerek istediğimi çözdüm :)

Kod: Tümünü seç

type 
TSysCmdEvent = procedure(Sender: TObject; var Allow: Boolean) of object; 

private 
FOnMinimize: TSysCmdEvent; 
procedure WMSysCommand(var Message: TWMSysCommand); message WM_SYSCOMMAND; 

protected 
function DoMinimize: Boolean; dynamic; 

  public 
property OnMinimize: TSysCmdEvent read FOnMinimize write FOnMinimize; 


procedure Tform2.WMSysCommand(var Message: TWMSysCommand); 
begin 
  case Message.CmdType and $FFF0 of 
    SC_MINIMIZE: 

      if not DoMinimize then 
        Exit; 
        end; 
          inherited; 
end; 

function Tform2.DoMinimize: Boolean; 
begin 
  Result := True; 
  if Assigned(FOnMinimize) then FOnMinimize(Self, Result); 
end; 
Başkasına Olan Saygımız.. Kendimize Olan saygıdır..
Abrak
Üye
Mesajlar: 189
Kayıt: 18 Kas 2004 05:30

Mesaj gönderen Abrak »

En son olarak şu şekilde kullanmak istedim;

Kod: Tümünü seç

type
procedure mesajisle(var Message: TWMSysCommand); message WM_SYSCOMMAND;


procedure Tform3.mesajisle(var Message: TWMSysCommand);
begin
  case Message.CmdType and $FFF0 of
    SC_MINIMIZE:
begin
    ShowWindow(Form3.Handle, SW_HIDE);
end;
end;
inherited;
end;
bu şekilde minimize olduğunda gizlemek istedim fakat
ShowWindow(Form3.Handle, SW_HIDE); //burası işlemiyor
captionla falan kontrol ediyorum çalışıyor nerde yanlış yapıyorum acaba
Başkasına Olan Saygımız.. Kendimize Olan saygıdır..
Abrak
Üye
Mesajlar: 189
Kayıt: 18 Kas 2004 05:30

Mesaj gönderen Abrak »

Konu başlığı altında ilginç bir söyleşi oldu kendi kendimle sanırım :D
Merak eden olabilir;

Kod: Tümünü seç

type 
procedure mesajisle(var Message: TWMSysCommand); message WM_SYSCOMMAND; 


  procedure Tform3.mesajisle(var Message: TWMSysCommand);
  begin
    case Message.CmdType and $FFF0 of
      SC_MINIMIZE:
        begin
          ShowWindow(Form3.Handle, SW_HIDE);
          exit; //********Burayı atlamışım*********
        end;
    end;
    inherited;
  end;

Minimize etmek istediğimde hem minimize hem gizlemeye çalıştığımdan çakışıyordu sanırım ama exit koyarak sorunu hallettim
Saygılarımla..
Başkasına Olan Saygımız.. Kendimize Olan saygıdır..
Cevapla