Flash butonları Delphide nasıl kullanırım?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Vallahi hiç denemedim ama gözükeceğini sanmam :(

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.
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Mesaj gönderen vkamadan »

Merhaba,
Delphiye eklediğimiz Flash ActiveX nesnesinde movie oynarken Sağ tuşu engelleyerek yada başka bir şekilde, flash menüsünün çıkmasını engellemek mümkün mü?
Teşekkürler.
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

bunun başka bir şekilde yapılış tarzı daha vardı ama (application.message) bence en iyisi bu. Yeni bir nesne üretip bu nesneye gelen WM_RBUTTONDOWN mesajını yakalayıp olayı biz yönetiyoruz.


Unit1.pas

Kod: Tümünü seç

Unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, OleCtrls, ShockwaveFlashObjects_TLB, StdCtrls, Menus;

type
  TForm1 = class(TForm)
    PopupMenu1: TPopupMenu;
    asdasd1: TMenuItem;
    asdasd2: TMenuItem;
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure FormResize(Sender: TObject);
    procedure asdasd1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    end;
    type
    TSPFlas = Class(TShockwaveFlash)
    public
  procedure aloooo(var Message:Tmessage); message WM_RButtonDown;


  end;

var
  Form1: TForm1;
  spflash :TSPFlas;
implementation

{$R *.dfm}

{ TSPFlas }

procedure TSPFlas.aloooo(var Message: Tmessage);
var
a:Tpoint;
begin
//spflash.PopupMenu := Form1.PopupMenu1;

Form1.PopupMenu1.Popup(mouse.CursorPos.X,mouse.CursorPos.y);
//exit;
end;



procedure TForm1.FormCreate(Sender: TObject);
begin
spflash := TSPFlas.create(Self);
spflash.Parent := Form1;
spflash.Width := 192;
spflash.Height := 192;
spflash.Left := 8;
spflash.Top := 8;
spflash.WMode := 'Window';
//spflash.Align := alClient;
spflash.Movie := 'c:\windows\desktop\flash\irak.swf';
end;

procedure TForm1.FormResize(Sender: TObject);
begin
//spflash.Align := alClient;
end;

procedure TForm1.asdasd1Click(Sender: TObject);
begin
ShowMessage('merhaba!');
end;

end.


Unit1.dfm
object Form1: TForm1
Left = 193
Top = 133
Width = 228
Height = 254
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
KeyPreview = True
OldCreateOrder = False
OnCreate = FormCreate
OnResize = FormResize
PixelsPerInch = 96
TextHeight = 13
object Label1: TLabel
Left = 16
Top = 208
Width = 186
Height = 13
Caption = 'flash çalışma zamanında oluşturulacak..'
end
object PopupMenu1: TPopupMenu
Left = 224
Top = 24
object asdasd1: TMenuItem
Caption = 'asdasd'
OnClick = asdasd1Click
end
object asdasd2: TMenuItem
Caption = 'asdasd'
end
end
end
peki flash objesi aktifken kullanıcı klavyeden yazıcı düğmesine basarsa ? :)
menü yine çıkıyor :(
wm_keydown olayınıda kendin yönetebilirsin veya işini daha rahat görebilecek bir mesajı yakalayabilirsin. Bu mesaj nedir onu biraz araştırmak lazım..
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Mesaj gönderen vkamadan »

sayın @sadettinpolat,
ilgin için teşekkür ederim.
henüz bir sonuca varamadım araştırmalarım devam ediyor.
Çözüme ulaşaınca haber veririm.
İyi çalışmalar.
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Flash'ın içinden bu yapılıyor olması gerekli :roll: Ama tam bilemiyorum. Boş bir anımda ben de araştırma yaparım.

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.
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

Google gruplarında yazdı:All messages from thread
Message 1 in thread
From: Sean (McseC@Consultant.com)
Subject: flash control - disable right click

View this article only
Newsgroups: borland.public.delphi.vcl.components.using
Date: 2002-04-11 10:41:25 PST

Hi,

I need to disable the right click on a flash control in my app and show my
own popup menu, I saw help for this somewhere - just can't remember ...

ciao,
S

Message 2 in thread
From: André Werlang (beppe@terra.com.br)
Subject: Re: flash control - disable right click

View this article only
Newsgroups: borland.public.delphi.vcl.components.using
Date: 2002-04-11 21:26:09 PST

Handle the OnContextPopup event. D5 or later.

André Werlang.

Message 3 in thread
From: Sean (McseC@Consultant.com)
Subject: Re: flash control - disable right click

View this article only
Newsgroups: borland.public.delphi.vcl.components.using
Date: 2002-04-12 09:58:37 PST

> Handle the OnContextPopup event. D5 or later.

there isn't one ....

ciao,
Sean

Message 4 in thread
From: Peter Below (TeamB) (100113.1101@compuXXserve.com)
Subject: Re: flash control - disable right click

View this article only
Newsgroups: borland.public.delphi.vcl.components.using
Date: 2002-04-13 05:22:02 PST

In article <3cb71115_2@dnews>, Sean wrote:
> > Handle the OnContextPopup event. D5 or later.
>
> there isn't one ....

Test whether the host control of the activeX control receives a
WM_CONTEXTMENU message when you right-click on the acticeX control.
If it does the hosts OnContextPopup event should fire and you may be
able to mark the click as handled there.


--
Peter Below (TeamB)
Use the newsgroup archives :
http://www.mers.com/searchsite.html
http://www.tamaracka.com/search.htm
http://groups.google.com
http://www.prolix.be
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Mesaj gönderen vkamadan »

MErhaba,
Peki , bu ActiveX nesnesinin gönderdiği WM_CONTEXTMENU mesajını nasıl yakalayabilirim.
Teşekkürler.
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

formun deklarasyonuna

Kod: Tümünü seç

    procedure WM_CONTEXTMENU(var Message: TMessage); message WM_CONTEXTMENU;
ekleyin
CTRL+SHIFT+C ile kod gövdesini olusturun.

Kod: Tümünü seç

procedure TFrmMain.WM_CONTEXTMENU(var Message: TMessage);
begin
  ShowMessage(IntToStr(Message.Msg));
end;
buradaki Message parametresi var altında tanımlı
bunun degerini sıfırlayarak flash ta menunun acılması onleneiblir sanırım

Kod: Tümünü seç

Message.Msg:=0;
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Mesaj gönderen vkamadan »

Çok teşekkür ediyorum.
Kolay gelsin.deneyip haber vereceğim
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Mesaj gönderen vkamadan »

Merhaba,
Flash objesi haricinde nereye sağ tıklarsam yakalıyor fakat flash objesinde yakalamıyor.Aynı zamanda Parametreyi 0 yapmama rağmen diğer objelerde denediğim kadarıyla yine popup u açıyor.
Bilginize Teşekkür ediyorum.
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

WM_CONTEXTMENU mesajını benim yazdığım örnekteki WM_RButtonDown mesajı yerine yazarsanız tam olarak istediğinizi yapabilirsiniz. tek kötü tafayı tasarım anında objeyi form üstünde göremezsiniz. yeni oluşturduğunuz sınıfı yeni bir bileşen olarak tanımlayıp bununda önüne geçebilirsiniz....
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Kullanıcı avatarı
ender_arslanturk
Kıdemli Üye
Mesajlar: 709
Kayıt: 18 Şub 2005 03:38
Konum: İstanbul

Mesaj gönderen ender_arslanturk »

viewtopic.php?p=68250#68250 link verim dedim :D
Kullanıcı avatarı
DarkEternal
Üye
Mesajlar: 158
Kayıt: 19 Eki 2005 11:00

Mesaj gönderen DarkEternal »

Peki Flashtan Delphiye uyarı göndemenin tersi işlemi yani :
Delphiden Flasha nasıl uyarı gönderilebilir?

Örn: Delphide butona basıldığında Flashın 15.framine gidilsin gibi...
kahraman1285
Üye
Mesajlar: 360
Kayıt: 10 Nis 2006 09:07

Mesaj gönderen kahraman1285 »

flash içindeki frame lerin özellikleri ve çalışması ile ilgili şu adrese gözatarsan belki yardımı olur.

http://www.delphiflash.com/codelib.php?lev1=2
kahraman1285
Üye
Mesajlar: 360
Kayıt: 10 Nis 2006 09:07

Flash'a sağ click ekledim ama formun popupmenüsü gitti.

Mesaj gönderen kahraman1285 »

mrb.
@saadettinpolat hocamın örneğine göre run time da flash nesnesi create edip ona popup menu ekledim ve delphide sağ tuş mesajını yakalayarak
popup açıyorum fakat diğer tüm nesnelerin popup ları flashın popup'ı oluyor.

nerde hata yapıyorum bi bakabilirmisiniz...

Kod: Tümünü seç

Unit Unit1; 

interface 

uses 
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
  Dialogs, OleCtrls, ShockwaveFlashObjects_TLB, StdCtrls, Menus; 

type 
  TForm1 = class(TForm) 
    PopupMenu1: TPopupMenu; 
    asdasd1: TMenuItem; 
     procedure asdasd1Click(Sender: TObject); 
  private 
    { Private declarations } 
  public 
    { Public declarations } 
    end; 
    type 
    TSPFlas = Class(TShockwaveFlash) 
    public 
  procedure aloooo(var Message:Tmessage); message WM_RButtonDown; 
  end; 

var 
  Form1: TForm1; 
  spflash :TSPFlas; 
implementation 

{$R *.dfm} 

{ TSPFlas } 

procedure TSPFlas.aloooo(var Message: Tmessage); 
var 
a:Tpoint; 
begin 
Form1.PopupMenu1.Popup(mouse.CursorPos.X,mouse.CursorPos.y); 
end; 

procedure TForm1.FormCreate(Sender: TObject); 
begin 
spflash := TSPFlas.create(Self); 
spflash.Parent := Form1; 
spflash.WMode := 'Window'; 
spflash.Movie := 'c:\windows\desktop\flash\irak.swf'; 
end; 

procedure TForm1.asdasd1Click(Sender: TObject); 
begin 
ShowMessage('merhaba!'); 
end; 

end.
Cevapla