Kendi mesaj pencerem

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

Kendi mesaj pencerem

Mesaj gönderen vedatkaba »

Kendimize özel bir mesaj penceresi yapmak istesek diyelim tasarımı nı filan yaptık diyelim Evet , Hayır , İptal gibi butonların kullanımı nasıl olucak ,,yani evet e basınca ona göre işlem hayır diyince ona göre işlem bilmem anlatabildimmi.Ben bunda şu şekilde bir yol izlemek istedim ne kadar başarılı olur bilmem inherit mi edicez yoksa nasıl bir yol izlemek gerek bir fikir arıyorummmmmmmmmmm ya yoruldum galiba ben.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Bence de yorulmuşsun. :) Button ların ModalResult döndürme özelliğine bir göz at. Dialog lardan farklı değil. ShowModal dan dönen değere göre işlem yaparsın.
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

Mesaj gönderen vedatkaba »

he ya, doğru dedin şimdi bizde gittik virajlı yollara bakalım daha ankestre fikri olan çıkacakmı.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

Kod: Tümünü seç

unit msgfrm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, SUIButton, ExtCtrls, SUIForm, SUIMemo, SUIImagePanel;

type
  TCevap = set of (cvpUnkown, cvpOk, cvpYes, cvpNo, cvpCancel);  // fonksiyonun döndürdüğü cevap tipi

  TfrmMsg = class(TForm)
    suiForm1: TsuiForm;
    imgBilgi: TImage;
    suiMemo1: TsuiMemo;
    suiImagePanel1: TsuiImagePanel;
    btnOk: TsuiButton;
    btnYes: TsuiButton;
    btnNo: TsuiButton;
    btnCancel: TsuiButton;
    imgHata: TImage;
    imgSoru: TImage;
    imgUyari: TImage;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure btnOkClick(Sender: TObject);
    procedure btnYesClick(Sender: TObject);
    procedure btnNoClick(Sender: TObject);
    procedure btnCancelClick(Sender: TObject);
  private
    { Private declarations }
    msgCevap : TCevap;
    xFonksiyon : Integer;
  public
    { Public declarations }
  end;

var
  frmMsg: TfrmMsg;
  ProgAdi : String;
  // Export Edilecek Fonksiyon ve Prosedürlerin Tanımları
  function BoxWidth(xMsg : String) : Integer;
  procedure AppInfo(xProgramAdi : String);
  function BilgiOk(msg : String) : TCevap;
  function BilgiYN(msg : String) : TCevap;
  function BilgiYNC(msg : String) : TCevap;
  function HataOk(Msg : String) : TCevap;
  function HataYN(msg : String) : TCevap;
  function HataYNC(msg : String) : TCevap;
  function UyariOk(Msg : String) : TCevap;
  function UyariYN(msg : String) : TCevap;
  function UyariYNC(msg : String) : TCevap;
  function SoruOk(Msg : String) : TCevap;
  function SoruYN(msg : String) : TCevap;
  function SoruYNC(msg : String) : TCevap;

implementation

{$R *.dfm}

function BoxWidth(xMsg : String) : Integer;
var  // Memonun En Uzun Lines ını alıp, Mesaj Kutusunun Width uzunluğunu belirliyor
  LineLng : Array[0..255] of Integer;
  oldLng, MaxLng, x, y, z, Lng: Integer;
begin
  Lng := Length(xMsg);
  y := 0;
  for x := 1 to Lng do
  begin
    if xMsg[x] = #13 then
    begin
      oldLng := 0;
      for z := 1 to y do
        oldLng := oldLng + LineLng[z];
      y := y + 1;
      LineLng[y] := x  - oldLng;
    end;
  end;
  oldLng := 0;
  for z := 1 to y do
    oldLng := oldLng + LineLng[z];
  y := y + 1;
  LineLng[y] := x  - oldLng;
  maxLng := 0;
  for x := 1 to y do
    if LineLng[x] > maxLng then
      MaxLng := LineLng[x];
  Result := MaxLng;
end;

procedure AppInfo(xProgramAdi : String);
begin
  ProgAdi := xProgramAdi;
end;

function BilgiOk(Msg : String) : TCevap;  // BilgiOK
begin
  try
    frmMsg := TfrmMsg.Create(Application);
    SetWindowLong(frmMsg.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
    frmMsg.xFonksiyon := 1; // fonksiyon index i
    frmMsg.suiForm1.Caption := ProgAdi + ' | Bilgi';
    frmMsg.suiMemo1.Lines.Text := Msg; // Mesajı Ekle
    frmMsg.Constraints.MinWidth := 300; // Min. Uzunluk
    frmMsg.suiMemo1.Height := frmMsg.suiMemo1.Lines.Count * 20;  // Memonun Height i
    frmMsg.Height := frmMsg.suiMemo1.Height + 100; // Formun Height i
    frmMsg.Width := (BoxWidth(Msg) * 4) + 200;  // Formun Width i
    frmMsg.imgBilgi.Visible := True;
    frmMsg.imgHata.Visible := False;
    frmMsg.imgSoru.Visible := False;
    frmMsg.imgUyari.Visible := False;
    frmMsg.btnOk.Visible := True;
    frmMsg.btnYes.Visible := False;
    frmMsg.btnNo.Visible := False;
    frmMsg.btnCancel.Visible := False;
    frmMsg.btnOk.Left := (frmMsg.Width div 2) - 40; // buttonun yeri
    frmMsg.ShowModal;
    result := frmMsg.msgCevap;
    frmMsg.Free;
  except
    result := [cvpUnkown];
  end;
end;

function BilgiYN(msg : String) : TCevap;  // BilgiYN
begin
  try
    frmMsg := TfrmMsg.Create(Application);
    SetWindowLong(frmMsg.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
    frmMsg.xFonksiyon := 2; // fonksiyon index i
    frmMsg.suiForm1.Caption := ProgAdi + ' | Bilgi';
    frmMsg.suiMemo1.Lines.Text := Msg; // Mesajı Ekle
    frmMsg.Constraints.MinWidth := 300; // Min. Uzunluk
    frmMsg.suiMemo1.Height := frmMsg.suiMemo1.Lines.Count * 20;  // Memonun Height i
    frmMsg.Height := frmMsg.suiMemo1.Height + 100; // Formun Height i
    frmMsg.Width := (BoxWidth(Msg) * 4) + 200;  // Formun Width i
    frmMsg.imgBilgi.Visible := True;
    frmMsg.imgHata.Visible := False;
    frmMsg.imgSoru.Visible := False;
    frmMsg.imgUyari.Visible := False;
    frmMsg.btnOk.Visible := False;
    frmMsg.btnYes.Visible := True;
    frmMsg.btnNo.Visible := True;
    frmMsg.btnCancel.Visible := False;
    frmMsg.btnYes.Left := (frmMsg.Width div 2) - 80;  // butonun yeri
    frmMsg.btnNo.Left := frmMsg.btnYes.Left + frmMsg.btnYes.Width + 10; // buttonun yeri
    frmMsg.ShowModal;
    result := frmMsg.msgCevap;
    frmMsg.Free;
  except
    result := [cvpUnkown];
  end;
end;

function BilgiYNC(msg : String) : TCevap;  // BilgiYNC
begin
  try
    frmMsg := TfrmMsg.Create(Application);
    SetWindowLong(frmMsg.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
    frmMsg.xFonksiyon := 3; // fonksiyon index i
    frmMsg.suiForm1.Caption := ProgAdi + ' | Bilgi';
    frmMsg.suiMemo1.Lines.Text := Msg; // Mesajı Ekle
    frmMsg.Constraints.MinWidth := 300; // Min. Uzunluk
    frmMsg.suiMemo1.Height := frmMsg.suiMemo1.Lines.Count * 20;  // Memonun Height i
    frmMsg.Height := frmMsg.suiMemo1.Height + 100; // Formun Height i
    frmMsg.Width := (BoxWidth(Msg) * 4) + 200;  // Formun Width i
    frmMsg.imgBilgi.Visible := True;
    frmMsg.imgHata.Visible := False;
    frmMsg.imgSoru.Visible := False;
    frmMsg.imgUyari.Visible := False;
    frmMsg.btnOk.Visible := False;
    frmMsg.btnYes.Visible := True;
    frmMsg.btnNo.Visible := True;
    frmMsg.btnCancel.Visible := True;
    frmMsg.btnYes.Left := (frmMsg.Width div 2) - 130;  // butonun yeri
    frmMsg.btnNo.Left := frmMsg.btnYes.Left + frmMsg.btnYes.Width + 10;   // buttonun yeri
    frmMsg.btnCancel.Left := frmMsg.btnNo.Left + frmMsg.btnNo.Width + 10;  // buttonun yeri
    frmMsg.ShowModal;
    result := frmMsg.msgCevap;
    frmMsg.Free;
  except
    result := [cvpUnkown];
  end;
end;

function HataOk(Msg : String) : TCevap;  // HataOK
begin
  try
    frmMsg := TfrmMsg.Create(Application);
    SetWindowLong(frmMsg.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
    frmMsg.xFonksiyon := 4; // fonksiyon index i
    frmMsg.suiForm1.Caption := ProgAdi + ' | Hata';
    frmMsg.suiMemo1.Lines.Text := Msg; // Mesajı Ekle
    frmMsg.Constraints.MinWidth := 300; // Min. Uzunluk
    frmMsg.suiMemo1.Height := frmMsg.suiMemo1.Lines.Count * 20;  // Memonun Height i
    frmMsg.Height := frmMsg.suiMemo1.Height + 100; // Formun Height i
    frmMsg.Width := (BoxWidth(Msg) * 4) + 200;  // Formun Width i
    frmMsg.imgHata.Visible := True;
    frmMsg.imgBilgi.Visible := False;
    frmMsg.imgSoru.Visible := False;
    frmMsg.imgUyari.Visible := False;
    frmMsg.btnOk.Visible := True;
    frmMsg.btnYes.Visible := False;
    frmMsg.btnNo.Visible := False;
    frmMsg.btnCancel.Visible := False;
    frmMsg.btnOk.Left := (frmMsg.Width div 2) - 40; // buttonun yeri
    frmMsg.ShowModal;
    result := frmMsg.msgCevap;
    frmMsg.Free;
  except
    result := [cvpUnkown];
  end;
end;

function HataYN(msg : String) : TCevap;  // HataYN
begin
  try
    frmMsg := TfrmMsg.Create(Application);
    SetWindowLong(frmMsg.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
    frmMsg.xFonksiyon := 5; // fonksiyon index i
    frmMsg.suiForm1.Caption := ProgAdi + ' | Hata';
    frmMsg.suiMemo1.Lines.Text := Msg; // Mesajı Ekle
    frmMsg.Constraints.MinWidth := 300; // Min. Uzunluk
    frmMsg.suiMemo1.Height := frmMsg.suiMemo1.Lines.Count * 20;  // Memonun Height i
    frmMsg.Height := frmMsg.suiMemo1.Height + 100; // Formun Height i
    frmMsg.Width := (BoxWidth(Msg) * 4) + 200;  // Formun Width i
    frmMsg.imgHata.Visible := True;
    frmMsg.imgBilgi.Visible := False;
    frmMsg.imgSoru.Visible := False;
    frmMsg.imgUyari.Visible := False;
    frmMsg.btnOk.Visible := False;
    frmMsg.btnYes.Visible := True;
    frmMsg.btnNo.Visible := True;
    frmMsg.btnCancel.Visible := False;
    frmMsg.btnYes.Left := (frmMsg.Width div 2) - 80;  // butonun yeri
    frmMsg.btnNo.Left := frmMsg.btnYes.Left + frmMsg.btnYes.Width + 10; // buttonun yeri
    frmMsg.ShowModal;
    result := frmMsg.msgCevap;
    frmMsg.Free;
  except
    result := [cvpUnkown];
  end;
end;

function HataYNC(msg : String) : TCevap;  // HataYNC
begin
  try
    frmMsg := TfrmMsg.Create(Application);
    SetWindowLong(frmMsg.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
    frmMsg.xFonksiyon := 6; // fonksiyon index i
    frmMsg.suiForm1.Caption := ProgAdi + ' | Hata';
    frmMsg.suiMemo1.Lines.Text := Msg; // Mesajı Ekle
    frmMsg.Constraints.MinWidth := 300; // Min. Uzunluk
    frmMsg.suiMemo1.Height := frmMsg.suiMemo1.Lines.Count * 20;  // Memonun Height i
    frmMsg.Height := frmMsg.suiMemo1.Height + 100; // Formun Height i
    frmMsg.Width := (BoxWidth(Msg) * 4) + 200;  // Formun Width i
    frmMsg.imgHata.Visible := True;
    frmMsg.imgBilgi.Visible := False;
    frmMsg.imgSoru.Visible := False;
    frmMsg.imgUyari.Visible := False;
    frmMsg.btnOk.Visible := False;
    frmMsg.btnYes.Visible := True;
    frmMsg.btnNo.Visible := True;
    frmMsg.btnCancel.Visible := True;
    frmMsg.btnYes.Left := (frmMsg.Width div 2) - 130;  // butonun yeri
    frmMsg.btnNo.Left := frmMsg.btnYes.Left + frmMsg.btnYes.Width + 10;   // buttonun yeri
    frmMsg.btnCancel.Left := frmMsg.btnNo.Left + frmMsg.btnNo.Width + 10;  // buttonun yeri
    frmMsg.ShowModal;
    result := frmMsg.msgCevap;
    frmMsg.Free;
  except
    result := [cvpUnkown];
  end;
end;

function UyariOk(Msg : String) : TCevap;  // UyariOK
begin
  try
    frmMsg := TfrmMsg.Create(Application);
    SetWindowLong(frmMsg.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
    frmMsg.xFonksiyon := 7; // fonksiyon index i
    frmMsg.suiForm1.Caption := ProgAdi + ' | Uyarı';
    frmMsg.suiMemo1.Lines.Text := Msg; // Mesajı Ekle
    frmMsg.Constraints.MinWidth := 300; // Min. Uzunluk
    frmMsg.suiMemo1.Height := frmMsg.suiMemo1.Lines.Count * 20;  // Memonun Height i
    frmMsg.Height := frmMsg.suiMemo1.Height + 100; // Formun Height i
    frmMsg.Width := (BoxWidth(Msg) * 4) + 200;  // Formun Width i
    frmMsg.imgUyari.Visible := True;
    frmMsg.imgBilgi.Visible := False;
    frmMsg.imgHata.Visible := False;
    frmMsg.imgSoru.Visible := False;
    frmMsg.btnOk.Visible := True;
    frmMsg.btnYes.Visible := False;
    frmMsg.btnNo.Visible := False;
    frmMsg.btnCancel.Visible := False;
    frmMsg.btnOk.Left := (frmMsg.Width div 2) - 40; // buttonun yeri
    frmMsg.ShowModal;
    result := frmMsg.msgCevap;
    frmMsg.Free;
  except
    result := [cvpUnkown];
  end;
end;

function UyariYN(msg : String) : TCevap;  // UyariYN
begin
  try
    frmMsg := TfrmMsg.Create(Application);
    SetWindowLong(frmMsg.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
    frmMsg.xFonksiyon := 8; // fonksiyon index i
    frmMsg.suiForm1.Caption := ProgAdi + ' | Uyarı';
    frmMsg.suiMemo1.Lines.Text := Msg; // Mesajı Ekle
    frmMsg.Constraints.MinWidth := 300; // Min. Uzunluk
    frmMsg.suiMemo1.Height := frmMsg.suiMemo1.Lines.Count * 20;  // Memonun Height i
    frmMsg.Height := frmMsg.suiMemo1.Height + 100; // Formun Height i
    frmMsg.Width := (BoxWidth(Msg) * 4) + 200;  // Formun Width i
    frmMsg.imgUyari.Visible := True;
    frmMsg.imgBilgi.Visible := False;
    frmMsg.imgHata.Visible := False;
    frmMsg.imgSoru.Visible := False;
    frmMsg.btnOk.Visible := False;
    frmMsg.btnYes.Visible := True;
    frmMsg.btnNo.Visible := True;
    frmMsg.btnCancel.Visible := False;
    frmMsg.btnYes.Left := (frmMsg.Width div 2) - 80;  // butonun yeri
    frmMsg.btnNo.Left := frmMsg.btnYes.Left + frmMsg.btnYes.Width + 10; // buttonun yeri
    frmMsg.ShowModal;
    result := frmMsg.msgCevap;
    frmMsg.Free;
  except
    result := [cvpUnkown];
  end;
end;

function UyariYNC(msg : String) : TCevap;  // UyariYNC
begin
  try
    frmMsg := TfrmMsg.Create(Application);
    SetWindowLong(frmMsg.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
    frmMsg.xFonksiyon := 9; // fonksiyon index i
    frmMsg.suiForm1.Caption := ProgAdi + ' | Uyarı';
    frmMsg.suiMemo1.Lines.Text := Msg; // Mesajı Ekle
    frmMsg.Constraints.MinWidth := 300; // Min. Uzunluk
    frmMsg.suiMemo1.Height := frmMsg.suiMemo1.Lines.Count * 20;  // Memonun Height i
    frmMsg.Height := frmMsg.suiMemo1.Height + 100; // Formun Height i
    frmMsg.Width := (BoxWidth(Msg) * 4) + 200;  // Formun Width i
    frmMsg.imgUyari.Visible := True;
    frmMsg.imgBilgi.Visible := False;
    frmMsg.imgHata.Visible := False;
    frmMsg.imgSoru.Visible := False;
    frmMsg.btnOk.Visible := False;
    frmMsg.btnYes.Visible := True;
    frmMsg.btnNo.Visible := True;
    frmMsg.btnCancel.Visible := True;
    frmMsg.btnYes.Left := (frmMsg.Width div 2) - 130;  // butonun yeri
    frmMsg.btnNo.Left := frmMsg.btnYes.Left + frmMsg.btnYes.Width + 10;   // buttonun yeri
    frmMsg.btnCancel.Left := frmMsg.btnNo.Left + frmMsg.btnNo.Width + 10;  // buttonun yeri
    frmMsg.ShowModal;
    result := frmMsg.msgCevap;
    frmMsg.Free;
  except
    result := [cvpUnkown];
  end;
end;

function SoruOk(Msg : String) : TCevap;  // SoruOK
begin
  try
    frmMsg := TfrmMsg.Create(Application);
    SetWindowLong(frmMsg.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
    frmMsg.xFonksiyon := 10; // fonksiyon index i
    frmMsg.suiForm1.Caption := ProgAdi + ' | Soru';
    frmMsg.suiMemo1.Lines.Text := Msg; // Mesajı Ekle
    frmMsg.Constraints.MinWidth := 300; // Min. Uzunluk
    frmMsg.suiMemo1.Height := frmMsg.suiMemo1.Lines.Count * 20;  // Memonun Height i
    frmMsg.Height := frmMsg.suiMemo1.Height + 100; // Formun Height i
    frmMsg.Width := (BoxWidth(Msg) * 4) + 200;  // Formun Width i
    frmMsg.imgSoru.Visible := True;
    frmMsg.imgBilgi.Visible := False;
    frmMsg.imgHata.Visible := False;
    frmMsg.imgUyari.Visible := False;
    frmMsg.btnOk.Visible := True;
    frmMsg.btnYes.Visible := False;
    frmMsg.btnNo.Visible := False;
    frmMsg.btnCancel.Visible := False;
    frmMsg.btnOk.Left := (frmMsg.Width div 2) - 40; // buttonun yeri
    frmMsg.ShowModal;
    result := frmMsg.msgCevap;
    frmMsg.Free;
  except
    result := [cvpUnkown];
  end;
end;

function SoruYN(msg : String) : TCevap;  // SoruYN
begin
  try
    frmMsg := TfrmMsg.Create(Application);
    SetWindowLong(frmMsg.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
    frmMsg.xFonksiyon := 11; // fonksiyon index i
    frmMsg.suiForm1.Caption := ProgAdi + ' | Soru';
    frmMsg.suiMemo1.Lines.Text := Msg; // Mesajı Ekle
    frmMsg.Constraints.MinWidth := 300; // Min. Uzunluk
    frmMsg.suiMemo1.Height := frmMsg.suiMemo1.Lines.Count * 20;  // Memonun Height i
    frmMsg.Height := frmMsg.suiMemo1.Height + 100; // Formun Height i
    frmMsg.Width := (BoxWidth(Msg) * 4) + 200;  // Formun Width i
    frmMsg.imgSoru.Visible := True;
    frmMsg.imgBilgi.Visible := False;
    frmMsg.imgHata.Visible := False;
    frmMsg.imgUyari.Visible := False;
    frmMsg.btnOk.Visible := False;
    frmMsg.btnYes.Visible := True;
    frmMsg.btnNo.Visible := True;
    frmMsg.btnCancel.Visible := False;
    frmMsg.btnYes.Left := (frmMsg.Width div 2) - 80;  // butonun yeri
    frmMsg.btnNo.Left := frmMsg.btnYes.Left + frmMsg.btnYes.Width + 10; // buttonun yeri
    frmMsg.ShowModal;
    result := frmMsg.msgCevap;
    frmMsg.Free;
  except
    result := [cvpUnkown];
  end;
end;

function SoruYNC(msg : String) : TCevap;  // SoruYNC
begin
  try
    frmMsg := TfrmMsg.Create(Application);
    SetWindowLong(frmMsg.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
    frmMsg.xFonksiyon := 12; // fonksiyon index i
    frmMsg.suiForm1.Caption := ProgAdi + ' | Soru';
    frmMsg.suiMemo1.Lines.Text := Msg; // Mesajı Ekle
    frmMsg.Constraints.MinWidth := 300; // Min. Uzunluk
    frmMsg.suiMemo1.Height := frmMsg.suiMemo1.Lines.Count * 20;  // Memonun Height i
    frmMsg.Height := frmMsg.suiMemo1.Height + 100; // Formun Height i
    frmMsg.Width := (BoxWidth(Msg) * 4) + 200;  // Formun Width i
    frmMsg.imgSoru.Visible := True;
    frmMsg.imgBilgi.Visible := False;
    frmMsg.imgHata.Visible := False;
    frmMsg.imgUyari.Visible := False;
    frmMsg.btnOk.Visible := False;
    frmMsg.btnYes.Visible := True;
    frmMsg.btnNo.Visible := True;
    frmMsg.btnCancel.Visible := True;
    frmMsg.btnYes.Left := (frmMsg.Width div 2) - 130;  // butonun yeri
    frmMsg.btnNo.Left := frmMsg.btnYes.Left + frmMsg.btnYes.Width + 10;   // buttonun yeri
    frmMsg.btnCancel.Left := frmMsg.btnNo.Left + frmMsg.btnNo.Width + 10;  // buttonun yeri
    frmMsg.ShowModal;
    result := frmMsg.msgCevap;
    frmMsg.Free;
  except
    result := [cvpUnkown];
  end;
end;

procedure TfrmMsg.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  case xFonksiyon of  // form button lardan değilde sistem menüden kapatılırsada değer döndürsün
    1 :  // BilgiOK Fonksiyonu
    begin
      if msgCevap <> [cvpOk] then
        msgCevap := [cvpOk];
    end;
    2 :  // BilgiYN Fonksiyonu
    begin
      if (msgCevap <> [cvpYes]) and (msgCevap <> [cvpNo]) then
      msgCevap := [cvpNo];
    end;
    3 :  // BilgiYNC Fonksiyonu
    begin
      if (msgCevap <> [cvpYes]) and (msgCevap <> [cvpNo]) and (msgCevap <> [cvpCancel]) then
        msgCevap := [cvpCancel];
    end;
    4 :  // HataOK Fonksiyonu
    begin
      if (msgCevap <> [cvpOK]) then
        msgCevap := [cvpOK];
    end;
    5 :  // HataYN Fonksiyonu
    begin
      if (msgCevap <> [cvpYes]) and (msgCevap <> [cvpNo]) then
      msgCevap := [cvpNo];
    end;
    6 :  // HataYNC Fonksiyonu
    begin
      if (msgCevap <> [cvpYes]) and (msgCevap <> [cvpNo]) and (msgCevap <> [cvpCancel]) then
        msgCevap := [cvpCancel];
    end;
    7 :  // UyariOK Fonksiyonu
    begin
      if (msgCevap <> [cvpOK]) then
        msgCevap := [cvpOK];
    end;
    8 :  // UyariYN Fonksiyonu
    begin
      if (msgCevap <> [cvpYes]) and (msgCevap <> [cvpNo]) then
      msgCevap := [cvpNo];
    end;
    9 :  // UyariYNC Fonksiyonu
    begin
      if (msgCevap <> [cvpYes]) and (msgCevap <> [cvpNo]) and (msgCevap <> [cvpCancel]) then
        msgCevap := [cvpCancel];
    end;
    10 :  // SoruOK Fonksiyonu
    begin
      if (msgCevap <> [cvpOK]) then
        msgCevap := [cvpOK];
    end;
    11 :  // SoruYN Fonksiyonu
    begin
      if (msgCevap <> [cvpYes]) and (msgCevap <> [cvpNo]) then
      msgCevap := [cvpNo];
    end;
    12 :  // SoruYNC Fonksiyonu
    begin
      if (msgCevap <> [cvpYes]) and (msgCevap <> [cvpNo]) and (msgCevap <> [cvpCancel]) then
        msgCevap := [cvpCancel];
    end;
  end;
end;

procedure TfrmMsg.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (Key = 27) or (Key = 13) then
    Close;
end;

procedure TfrmMsg.btnOkClick(Sender: TObject);
begin  // OK Buttonu
  msgCevap := [cvpOk];
  Close;
end;

procedure TfrmMsg.btnYesClick(Sender: TObject);
begin  // YES Buttonu
  msgCevap := [cvpYes];
  Close;
end;

procedure TfrmMsg.btnNoClick(Sender: TObject);
begin  // NO Buttonu
  msgCevap := [cvpNo];
  Close;
end;

procedure TfrmMsg.btnCancelClick(Sender: TObject);
begin  // CANCEL Buttonu
  msgCevap := [cvpCancel];
  Close;
end;

end.
çook önceden bu kodu dll e gömmüştüm ve suipack bileşenleri ile kendi mesaj penceremi oluşturmuştum. ama windows un standart mesaj larını engelleyemediğim için bi windowsun bi benim mesajlarım pek hoş olmadı. o nedenle kullanmaktan vaz geçtim.
DeveloperToolKit

..::|YeşilMavi|::..
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

Mesaj gönderen vedatkaba »

Suipack ile kendinizinki ni mi oluşturdunuz ???...ben kullanmıyayımmı yani hocam bunumu demek istediniz.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

hocam suipack skin bileşeniyle TForm mesaj penceresine çevirdim.
error, warning gibi logoları özelleştirdim felan. yani kısacası bildiğimiz TForm u süsleyip msgbox a çevirdim. kullanıp kullanmamak senin elinde. ama programda kendi mesajların da bu mesaj kutularını kullanacaksan, diğer tüm hata, yada bilgi msjlarını yakalayıp bu kodla vermen gerekir. aksi taktirde kötü bir görüntü oluyor. yani sen kullanıcıya "değişiklikleri kaydetmek istermisin " gibi bir soru sorarken bu msjbox ı kullandığında güzel ancak bildiğiniz üzere firebird exception ları standart windows msjbox larıdır. bu exceptionları ve windows mesajlarını yakalayıp kendi msjbox ınla göstermeyi göze alıyorsan kullan. açıkçası ben başedemedim.
DeveloperToolKit

..::|YeşilMavi|::..
Cevapla