Delphi Dünyası Facebook'ta

Kodbank İndir

! CODEBANK 2012 !

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

Gönderen Konu: Görev yöneticisinde program görünüşü  (Okunma sayısı 372 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı rujin_jakka

  • Delphi 1 Level 2
  • **
  • İleti: 14
  • Rep: +0/-0
Görev yöneticisinde program görünüşü
« : 02 Şubat 2012 12:42:52 »
Merhaba Arkadaşlar


Delphide 2. bir form oluşturduğumda form2.show ya da form3.showmodal şeklinde yapıyorum. Fakat görev çubuğunda görünüm olarak sadece form1 gözüküyor.
Yukarıda ki fotoğraftaki gibi her formu başka bir pencerede nasıl gösterebiliriz ?

Çevrimdışı tawer1

  • Delphi 7 Level 4
  • ****
  • İleti: 333
  • Rep: +0/-0
  • Cinsiyet: Bay
Ynt: Görev yöneticisinde program görünüşü
« Yanıtla #1 : 02 Şubat 2012 12:50:19 »
bunun sebebi form1'in main form oluşudur. form2.show denmeden önce ne yapılması bu kodda var ... bu kod form2. ana form yapar dolayısyla goruntu değişir.... 
Kod:  (Unknown Language)
  1.  TForm((@Application.MainForm)^):=Screen.Forms[1];//bkz:project/options/forms...sıralama 0'dan başlar;
  2.    form1.Close;
  3.    form2.Show;
Seo yapılandırma servisi

Çevrimdışı sheshman

  • Delphi 2007 Level 1
  • *
  • İleti: 501
  • Rep: +10/-0
  • Cinsiyet: Bay
  • So others may live...
    • http://www.sheshman.com
Ynt: Görev yöneticisinde program görünüşü
« Yanıtla #2 : 02 Şubat 2012 13:42:57 »
hemen bir soru eğer form1'i kapatırsan görev çubuğunda arkadaşın istediği gibi nasıl görünecek ?
Dünya sizden nefret ederse sizden önce benden nefret etmiş olduğunu bilin. Dünyadan olsaydınız dünya kendisine ait olanı severdi.
http://www.sheshman.com

Çevrimdışı tawer1

  • Delphi 7 Level 4
  • ****
  • İleti: 333
  • Rep: +0/-0
  • Cinsiyet: Bay
Ynt: Görev yöneticisinde program görünüşü
« Yanıtla #3 : 02 Şubat 2012 13:49:59 »
he o sekme sekme mi gostermek istiyor ben form2 gozukmesı ıcın yaptım onu :D madem öyle kapamasın :D
Seo yapılandırma servisi

Çevrimdışı barutali

  • Administrator
  • *****
  • İleti: 2.228
  • Rep: +54/-0
  • Cinsiyet: Bay
  • Falan filan ...
  • Delphi Sürümü: 2010 - XE2



Amatör Küme Programcı

Çevrimdışı rujin_jakka

  • Delphi 1 Level 2
  • **
  • İleti: 14
  • Rep: +0/-0
Ynt: Görev yöneticisinde program görünüşü
« Yanıtla #5 : 04 Şubat 2012 19:39:06 »
http://blog.lmd.de/2009/12/new-windows-7-api-for-taskbar-part-1/

Sayfada ki örneği denendim, tamam ProgressBar ın görev çubuğunda haraketini görebiliyoruz. sorun şu ki 2.bir form oluşturduğumuzda görev çubuğunda bu form gözükmüyor sadece anaform görünüyor.

Çevrimdışı mbayrak

  • Delphi 1 Level 5
  • *****
  • İleti: 47
  • Rep: +0/-0
Ynt: Görev yöneticisinde program görünüşü
« Yanıtla #6 : 06 Şubat 2012 14:19:09 »
Kod:  (Unknown Language)
  1. unit uMessage;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  7.   Dialogs, ActnList, ImgList, ComCtrls, ToolWin, StdCtrls;
  8.  
  9. type
  10.   TfMessage = class(TForm)
  11.  
  12.     procedure CreateParams(var Params: TCreateParams); override;
  13.  
  14.   private
  15.  
  16.   public
  17.  
  18.   end;
  19.  
  20. var
  21.   fMessage: TfMessage;
  22.  
  23. implementation
  24.  
  25. {$R *.dfm}
  26.  
  27. procedure TfMessage.CreateParams(var Params: TCreateParams);    //  TaskBarda
  28. begin
  29.   inherited;
  30.   Params.WndParent := GetDesktopWindow();
  31. end;
  32.  
  33.  

yukarıdaki proceduru create edip taskabrda göstermek istediğini tüm formlara bu şekilde uygulaman yeterli olur sanırım

Çevrimdışı rujin_jakka

  • Delphi 1 Level 2
  • **
  • İleti: 14
  • Rep: +0/-0
Ynt: Görev yöneticisinde program görünüşü
« Yanıtla #7 : 06 Şubat 2012 15:56:17 »
mbayrak
Teşekkür ederim işe yaradı fakat projeyi derlediğimde tek form sayfası yerine aşağıdaki gibi bir görüntü çıkıyor. Bunu nasıl düzeltebiliriz ?
« Son Düzenleme: 06 Şubat 2012 16:05:47 by rujin_jakka »

Çevrimdışı sabanakman

  • Global Moderatör
  • *****
  • İleti: 796
  • Rep: +13/-0
  • Cinsiyet: Bay
  • Delphi Sürümü: e) Hepsi
Ynt: Görev yöneticisinde program görünüşü
« Yanıtla #8 : 06 Şubat 2012 18:29:14 »
Projenizin ana formunda bu kodu çalıştırmazsanız çözüm olabilir.
Şaban Şahin AKMAN

Derin olan kuyu değil kısa olan iptir

Çevrimdışı mbayrak

  • Delphi 1 Level 5
  • *****
  • İleti: 47
  • Rep: +0/-0
Ynt: Görev yöneticisinde program görünüşü
« Yanıtla #9 : 06 Şubat 2012 20:36:39 »
mbayrak
Teşekkür ederim işe yaradı fakat projeyi derlediğimde tek form sayfası yerine aşağıdaki gibi bir görüntü çıkıyor. Bunu nasıl düzeltebiliriz ?

Ne demek istediğinizi tam anlayamadım. Yalnız bu procedurun bulunduğu her form, eğer gösteriliyorsa bu şekilde taskabrda görünür. yani msn gibi ne kadar açık konuşma pencdresi varsa hepsi bu şekilde görünür, bu da aynı mantıkla create edilip show edilen pencereler gözükür.
Üstelik ilk sorunuzdaki gösterdiğiniz resme eşdeğer bir ekran görüntüsü var yani istediğnizi gibi olmuş görünyor.

Çevrimdışı rujin_jakka

  • Delphi 1 Level 2
  • **
  • İleti: 14
  • Rep: +0/-0
Ynt: Görev yöneticisinde program görünüşü
« Yanıtla #10 : 06 Şubat 2012 22:37:40 »
mbayrak
Teşekkür ederim işe yaradı fakat projeyi derlediğimde tek form sayfası yerine aşağıdaki gibi bir görüntü çıkıyor. Bunu nasıl düzeltebiliriz ?

Ne demek istediğinizi tam anlayamadım. Yalnız bu procedurun bulunduğu her form, eğer gösteriliyorsa bu şekilde taskabrda görünür. yani msn gibi ne kadar açık konuşma pencdresi varsa hepsi bu şekilde görünür, bu da aynı mantıkla create edilip show edilen pencereler gözükür.
Üstelik ilk sorunuzdaki gösterdiğiniz resme eşdeğer bir ekran görüntüsü var yani istediğnizi gibi olmuş görünyor.

Evet resimdeki ile aynı durum yani verdiğiniz kodlar çalışıyor. Benim sadece demek istediğim
verdiğiniz kodları derlediğimde görev çubuğunda sadece form1 gözükmesi gerekirken Project2 diye (resimdeki sol pencerede görüldüğü gibi) fazladan bi pencere daha oluşuyor. Bu fazladan pencerenin gizlenip sadece form1 'in gözükmesini sağlayabilir miyiz ? İnşallah anlatabilmişimdir. Olmazsa programın kodları ile çalışır halini de gönderebilirim.

Çevrimdışı rujin_jakka

  • Delphi 1 Level 2
  • **
  • İleti: 14
  • Rep: +0/-0
Ynt: Görev yöneticisinde program görünüşü
« Yanıtla #11 : 06 Şubat 2012 22:52:53 »
İlginiz için teşekkür ederim sorunum aşağıdaki kodu ekleyince düzeldi.
Kod: [Seç]
procedure TForm1.CreateParams(var Params: TCreateParams);    //  TaskBarda
begin
  inherited CreateParams(Params);
  if Assigned(Application.MainForm) then
  begin
    Params.WndParent := GetDesktopWindow;
    Params.Style := WS_CHILD;
  end;

end;

Bütün kodlarını da yazmak gerekirse :

Form1 için

Kod: [Seç]
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  Dialogs, ActnList, ImgList, ComCtrls, ToolWin, StdCtrls;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);

 //  procedure CreateParams(var Params: TCreateParams); override;
 
  private
     procedure CreateParams(var Params: TCreateParams); override;
  public
 
  end;
 
var
  Form1: TForm1;

implementation

uses Unit2;


 
{$R *.dfm}
 
procedure TForm1.CreateParams(var Params: TCreateParams);    //  TaskBarda
begin
  inherited CreateParams(Params);
  if Assigned(Application.MainForm) then
  begin
    Params.WndParent := GetDesktopWindow;
    Params.Style := WS_CHILD;
  end;

end;
procedure TForm1.Button1Click(Sender: TObject);
begin
form2.show;
end;

end.

Form 2 için

Kod: [Seç]
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm2 = class(TForm)
  private
   procedure CreateParams(var Params: TCreateParams); override;
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.CreateParams(var Params: TCreateParams);    //  TaskBarda
begin
inherited;
  Params.WndParent := GetDesktopWindow();

end;
end.

Çevrimdışı rujin_jakka

  • Delphi 1 Level 2
  • **
  • İleti: 14
  • Rep: +0/-0
Ynt: Görev yöneticisinde program görünüşü
« Yanıtla #12 : 06 Şubat 2012 23:28:57 »
Delphi 7 de sorunsuz çalışan kodlar malesef Xe 2 de çalışmıyor.