Kendi mesaj pencerem
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Kendi mesaj pencerem
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.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
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.
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.
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.