GLUCK?! Fare tıklama olaylarını işleme!!! - sayfa 4

 
on_Click yerine on_MouseDown kullanın
 
FAQ :
on_Click yerine on_MouseDown kullanın
Çok teşekkürler
 

TEŞEKKÜRLER SORUN ÇÖZÜLDÜ.

Bu dili daha çok seviyorum!

 
Vladon :

TEŞEKKÜRLER SORUN ÇÖZÜLDÜ.

Bu dili daha çok seviyorum!

aydınlatmak

not. Olası olaylara hızla baktım ve hemen bununla ilgili birkaç düşünce ortaya çıktı. İlginç onay.

 

Benim de küçük bir panelim var.

Nesneye tıklayarak çalışır.Ayrıca "çocuklardan koruma" olarak CTRL'ye basmanız gerekir.

Düğmelere tıkladıktan sonra false olarak çevrilir.

 if (id== CHARTEVENT_OBJECT_CLICK && key== true )
     {
       if (sparam== "buy" )  { Print ( "Нажата BUY" );OpenBuy();} 
       if (sparam== "sell" )  { Print ( "Нажата SELL" );OpenSell(); }  
       if (sparam== "wl" )  { Print ( "Нажата WL" );ModifyWl();}
       if (sparam== "sellstop" )  { Print ( "Нажата SELL STOP" );SellStop();}  
       if (sparam== "buystop" )  { Print ( "Нажата BUY STOP" );BuyStop();}
       if (sparam== "delpend" )  { Print ( "Нажата DELETE" );DelPend();}
     
       ChartRedraw ();
     }
   if (id== CHARTEVENT_KEYDOWN )
     {
       if (lparam==KEY_CTRL) {key= true ;} else {key= false ;}
     }
 // востановим кнопки
 graf_button( "buy" , 270 , 5 , clrBlue , "BUY" , 12 , 3 , false );
 graf_button( "sell" , 210 , 5 , clrCrimson , "SELL" , 12 , 3 , false );
 graf_button( "wl" , 150 , 5 , clrBlack , "WL" , 12 , 3 , false );
 
 graf_button( "buystop" , 270 , 30 , clrDarkBlue , "B.STOP" , 12 , 3 , false );
 graf_button( "sellstop" , 150 , 30 , clrCrimson , "S.STOP" , 12 , 3 , false );
 graf_button( "delpend" , 210 , 30 , clrBlack , "DEL" , 12 , 3 , false );
 
Karlson :

Benim de küçük bir panelim var.

Nesneye tıklayarak çalışır.Ayrıca "çocuklardan koruma" olarak CTRL'ye basmanız gerekir.

Düğmelere tıkladıktan sonra false olarak çevrilir.

Pekala, bu anlaşılabilir bir durum, ben de şöyle başladım: http://codebase.mql4.com/en/6091

sonra şöyle: https://www.mql5.com/en/code/223/

sonra şöyle: https://www.mql5.com/ru/market/product/332

ZY, hayır. bu bir reklam değil. kendini bana atma. Basitçe, bir tekme attılar ve 2 bağlantıdan akşam tam anlamıyla 3'e ulaştılar. İlginç görüş.

Ve krediye değer çünkü açgözlü değilim. Nada para. Çocuklar küçük, talepler büyük. Peki, kime söylüyorum? Herkes bu pozisyonda.  

SSS :

aydınlatmak

not. Olası olaylara hızla baktım ve hemen bununla ilgili birkaç düşünce ortaya çıktı. İlginç onay.

Beğenmediğim için herhangi bir ek kitaplık kullanmadım.!!!! Ve dürüst olmak gerekirse, buraya tam kodu almak için yazmadım, ama sadece bana bir tekme attılar, her zamanki gibi :-)

Normal kullanıldı

CHARTEVENT_MOUSE_MOVE

Ayrıca sol tuşa basma durumu vardır, 3. parametrede butona basılınca 1 verir.

Bu koordinatın konumunu belirleyin ve bu düğmenin serbest bırakma koordinatı - 1 sınıfı ile karşılaştırın.

MKL5 dilinin bu kadar geniş olduğunu düşünmemiştim.

 

Şimdi paneli sürüklemek üzerinde çalışıyorum ve sürüklemek çoğu panel gibi değil - düğmeye basarsınız, ardından görünmeyen küçük bir kare için - onu sürüklersiniz, sonra düğmeyi bırakırsınız - ve her şey yeniden çizilir.

Tüm panelin serbest bırakılıncaya kadar imlecin arkasına sürüklenmesini sağladım, ancak düğmeye basıldığında sürüklemeyi nasıl durdurabilirim? :-)

diyebileceğin gibi:

Tyu evet kolay -

kolay değil :-) ancak tüm sorun, aynı anda iki olayı işlememesidir.

 
Vladon :

Şimdi paneli sürüklemek üzerinde çalışıyorum ve sürüklemek çoğu panel gibi değil - düğmeye basarsınız, ardından görünmeyen küçük bir kare için - onu sürüklersiniz, sonra düğmeyi bırakırsınız - ve her şey yeniden çizilir.


kolay değil :-) ancak tüm sorun, aynı anda iki olayı işlememesidir.

Belki Standart Kitaplığı kullanmak daha kolaydır? Örneğe bakın - MQ'dan Controls.mq5.
Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
 

Vladon :

Tüm panelin serbest bırakılıncaya kadar imlecin arkasına sürüklenmesini sağladım, ancak düğmeye basıldığında sürüklemeyi nasıl durdurabilirim? :-)

ne tuşundan bahsediyorsun
 
sergeev :
ne tuşundan bahsediyorsun

Farenin sol sopasını kastetmiştim.

Yurich :
Belki Standart Kitaplığı kullanmak daha kolaydır? Örneğe bakın - MQ'dan Controls.mq5.

Herkes öyle diyor ama ben programcı olarak neden standart kitaplığı kullanmalıyım? :-)

Örneğin, bir grafik sürüklenirken bir tuşa yanlışlıkla farenin sol tuşuna basılmasıyla oluşan bir aksaklık, 2 satırlık standart fonksiyonlarla çözdüm ve kütüphanede bu 1000 satırlık kod için yazılmış.

Tartışmıyorum - standart kütüphanelerin kullanımı daha karlı olabilir. Ancak ben kolay erişilebilir yolu tercih ediyorum ve ek kütüphaneler dahil etmekle uğraşmıyorum.