Delphi 7 ve Devexpress Status Bar
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Delphi 7 ve Devexpress Status Bar
Arkadaşlar Delphi 7 ye Devexpress Kurdum Proje Yapıyorum Ama Şöyle Bir Sorunum Var;
dxRibbonStatusBar da Panel Oluşturdum Sadece 1 Panelde Çalışacak Şekilde Popup Menu Yapmak İstedim Ama Yapamadım?
Bunu Yapma Seçeneğimiz Yok mu?
dxRibbonStatusBar da Panel Oluşturdum Sadece 1 Panelde Çalışacak Şekilde Popup Menu Yapmak İstedim Ama Yapamadım?
Bunu Yapma Seçeneğimiz Yok mu?
Re: Delphi 7 ve Devexpress Status Bar
Yardımcı olabilecek kimse yok mu?
Re: Delphi 7 ve Devexpress Status Bar
Bu konuda sanmıyorum ben de buna benzer bir konu açmıştım konuyu geri silmek zorunda kaldım..
Re: Delphi 7 ve Devexpress Status Bar
Bende kurulu Devexpress yok fakat genel olarak şöyle birşey söyleyebilirim:
TPopupMenu'nün OnPopup olayını kontrol ederek istediğiniz zaman görünmemesi sağlayabiliriz. Mesela 2 panel var, ikisine de popupmenu olarak PopupMenu1'i atadım. Normalde ikisinde de sağ tıkladığımızda menü açılacaktır. Mesela, Panel2'de açılmasını istemiyorsak:
Dediğim gibi bende Devexpress olmadığı için deneyemiyorum ama TPanel vs. bileşenlerde bu şekilde düzgün çalışır.
TPopupMenu'nün OnPopup olayını kontrol ederek istediğiniz zaman görünmemesi sağlayabiliriz. Mesela 2 panel var, ikisine de popupmenu olarak PopupMenu1'i atadım. Normalde ikisinde de sağ tıkladığımızda menü açılacaktır. Mesela, Panel2'de açılmasını istemiyorsak:
Kod: Tümünü seç
procedure TForm1.PopupMenu1Popup(Sender: TObject);
begin
if ((Sender as TPopupMenu).PopupComponent.Name = 'Panel2') then
Abort;
end;
There's no place like 127.0.0.1
Re: Delphi 7 ve Devexpress Status Bar
SimaWB yazdı:Bende kurulu Devexpress yok fakat genel olarak şöyle birşey söyleyebilirim:
TPopupMenu'nün OnPopup olayını kontrol ederek istediğiniz zaman görünmemesi sağlayabiliriz. Mesela 2 panel var, ikisine de popupmenu olarak PopupMenu1'i atadım. Normalde ikisinde de sağ tıkladığımızda menü açılacaktır. Mesela, Panel2'de açılmasını istemiyorsak:Dediğim gibi bende Devexpress olmadığı için deneyemiyorum ama TPanel vs. bileşenlerde bu şekilde düzgün çalışır.Kod: Tümünü seç
procedure TForm1.PopupMenu1Popup(Sender: TObject); begin if ((Sender as TPopupMenu).PopupComponent.Name = 'Panel2') then Abort; end;
Kod: Tümünü seç
procedure TForm1.PopupMenu1Popup(Sender: TObject);
begin
if ((Sender as TPopupMenu).PopupComponent.Name = 'dxRibbonStatusBar.Panels[1]') then
Abort;
end;

Re: Delphi 7 ve Devexpress Status Bar
Kodunuza breakpoint koyup (Sender as TPopupMenu).PopupComponent.Name değerini kontrol ettiniz mi?
There's no place like 127.0.0.1
Re: Delphi 7 ve Devexpress Status Bar
nasıl yani hocam örnek verebilirmisiniz?SimaWB yazdı:Kodunuza breakpoint koyup (Sender as TPopupMenu).PopupComponent.Name değerini kontrol ettiniz mi?
Re: Delphi 7 ve Devexpress Status Bar
O satır üzerindeyken F5'e basın. Satır kırmızı renge dönüşür yada satırın başında kırmızı bir nokta belirir. Sonra programı F9'a basarak çalıştırın. PopupMenu ne zaman açılırsa, yani program o satırı çalıştırmayı denerse, programınız durur ve Delphi üzerinde siz istediğiniz değişkenin o anki durumunu görebilirsiniz. Bu esnada (Sender as TPopupMenu).PopupComponent.Name 'i komple seçip Ctrl+F7'ye bastığınızda değeri görürsünüz. Programın kaldığı yerden çalışmasına devam etmek için F9'a basmalısınız.
Yada
satırından hemen önce
yazarsanız Name değerini görürsünüz.
Yada
Kod: Tümünü seç
if ((Sender as TPopupMenu).PopupComponent.Name = 'dxRibbonStatusBar.Panels[1]') then
Kod: Tümünü seç
ShowMessage((Sender as TPopupMenu).PopupComponent.Name));
There's no place like 127.0.0.1
Re: Delphi 7 ve Devexpress Status Bar
Hocam Name değeri dxRibbonStatusBar olarak görünüyor ama ben panelslerine ulaşamıyorum bu yolla yani dxRibbonStatusBar.Panels[0] değerine ulaşamıyorum. dxRibbonStatusBar yazdığımda Name değerine çalışıyor ama dxRibbonStatusBar ı panellere ayırdığım için hepsinde çalışmıyor bu kez ben dxRibbonStatusBar.Panels[1] haricinde diğerlerinde çalışmasın istiyorum ama olmuyor.SimaWB yazdı:O satır üzerindeyken F5'e basın. Satır kırmızı renge dönüşür yada satırın başında kırmızı bir nokta belirir. Sonra programı F9'a basarak çalıştırın. PopupMenu ne zaman açılırsa, yani program o satırı çalıştırmayı denerse, programınız durur ve Delphi üzerinde siz istediğiniz değişkenin o anki durumunu görebilirsiniz. Bu esnada (Sender as TPopupMenu).PopupComponent.Name 'i komple seçip Ctrl+F7'ye bastığınızda değeri görürsünüz. Programın kaldığı yerden çalışmasına devam etmek için F9'a basmalısınız.
Yadasatırından hemen önceKod: Tümünü seç
if ((Sender as TPopupMenu).PopupComponent.Name = 'dxRibbonStatusBar.Panels[1]') then
yazarsanız Name değerini görürsünüz.Kod: Tümünü seç
ShowMessage((Sender as TPopupMenu).PopupComponent.Name));
Not: Siz ne demek istediğimi normal statusbar kullanarak anlarsınız.
Re: Delphi 7 ve Devexpress Status Bar
Normal statusbar'la şöyle bir deneme yaptım:
Statusbar'a bir adet PopupMenu atadım. Ayrıca statusbar'da 3 adet panel oluşturdum.
Mesela ikinci panelde PopupMenu'nün görünmesini istemiyorum:
Statusbar'a bir adet PopupMenu atadım. Ayrıca statusbar'da 3 adet panel oluşturdum.
Mesela ikinci panelde PopupMenu'nün görünmesini istemiyorum:
Kod: Tümünü seç
procedure TForm3.PopupMenu1Popup(Sender: TObject);
var
p: TPoint;
i: integer;
Panel2_start, Panel2_end: integer;
begin
p := StatusBar1.ScreenToClient(Mouse.CursorPos);
Panel2_start := StatusBar1.Panels[0].Width;
Panel2_end := Panel2_start + StatusBar1.Panels[1].Width;
if (p.x > Panel2_start) and (p.x < Panel2_end) then
Abort;
end;
There's no place like 127.0.0.1