Herkese iyi günler! Aptal soru için özür dilerim. Beyler, lütfen bana bunu nasıl yapacağımı söyleyin, böylece düğmeye sol fare düğmesine basıldığında, Pressed özelliği true değerini ve serbest bırakıldığında - false değerini alır. Şimdi durum öyle ki, basıldığında hiçbir şey olmuyor, ancak basıldığında, Basıldığında tam tersi değişiyor.
CButton::OnMouseUp ve CButton::OnMouseDown olay işleyicilerini yeniden tanımlamanız gerektiğini anlıyorum, ancak bunu nerede yapacağımı hayal edemiyorum. İpucu, lütfen. Şimdiden teşekkürler!
Aynı konu hakkında yardımcı olabilecek biri varsa çok sevinirim.
Hiçbir şeyi karıştırmıyor musun? Bir CHARTEVENT_CLICK olayı var — grafik üzerinde fare tıklaması ; ama basmak yok...
Var, doğru. Sadece CButton sınıfının iki dahili olay işleyicisi vardır: OnMouseDown() ve OnMouseUp(). Ben de düşündüm ki, belki karşılık gelen olaylar vardır?
Var, doğru. Sadece CButton sınıfının iki dahili olay işleyicisi vardır: OnMouseDown() ve OnMouseUp(). Ben de düşündüm ki, belki karşılık gelen olaylar vardır?
SB'ye bakmadım, ama görünüşe göre bir tıklama OBJPROP_STATE == doğru, başka bir OBJPROP_STATE == yanlış. Ya da belki yanılıyorum.
Hem MT4 hem de MT5 düzenleyicileri, fareyi "int i = func( 0, 1 );" satırındaki "func" kelimesinin üzerine getirdiğinizde çöküyor. ve "Tanıma git" seçeneğini seçerek (veya Alt+G tuşlarına basarak)
MQL4 yapı 1910
MQL5 yapı 1931
template < typename type>
type func( type a, type b = 1 ){ return ( 0 ); }
int i = func( 0 , 1 );
voidOnStart (){ }
MQL'de değil, artık değil. Aslında hata ayıklamada referans olarak iki kat daha yavaş geçiyor ve normal olarak derlendiğinde gerçekten önemli olmayacak kadar yakın. Kendiniz deneyin.
#define ITERATIONS 1000000voidOnStart ()
{
{
ulong time = GetMicrosecondCount ();
ulong sum = 0 ;
for ( int i= 0 ; i<ITERATIONS; i++){
string r = string ( rand ());
sum += by_ref (r);
}
time = GetMicrosecondCount () - time;
printf ( "%s took %.3f milliseconds: sum=%dll" , "by_ref" , time/ 1000.0 , sum);
}{
ulong time = GetMicrosecondCount ();
ulong sum = 0 ;
for ( int i= 0 ; i<ITERATIONS; i++)
sum += by_val ( string ( rand ()));
time = GetMicrosecondCount () - time;
printf ( "%s took %.3f milliseconds: sum=%dll" , "by_val" , time/ 1000.0 , sum);
}
}
//+------------------------------------------------------------------+int by_ref( string &var){ returnint (var) % 100 ; }
int by_val( string var){ returnint (var) % 100 ; }
Geliştirici arkadaşlar!
MT4'te , seçilen bir grafik nesnesine tıklandığında " CHARTEVENT_OBJECT_DRAG " olayı tetiklenir. Bu gerçek bir hata.
MT5'te böyle bir sorun yok.
Herkese iyi günler! Aptal soru için özür dilerim. Beyler, lütfen bana bunu nasıl yapacağımı söyleyin, böylece düğmeye sol fare düğmesine basıldığında, Pressed özelliği true değerini ve serbest bırakıldığında - false değerini alır. Şimdi durum öyle ki, basıldığında hiçbir şey olmuyor, ancak basıldığında, Basıldığında tam tersi değişiyor.
CButton::OnMouseUp ve CButton::OnMouseDown olay işleyicilerini yeniden tanımlamanız gerektiğini anlıyorum, ancak bunu nerede yapacağımı hayal edemiyorum. İpucu, lütfen. Şimdiden teşekkürler!
Aynı konu hakkında yardımcı olabilecek biri varsa çok sevinirim.
Aynı konu hakkında yardımcı olabilecek biri varsa çok sevinirim.
Olay, yalnızca fare düğmesi bırakıldığında, ancak basılmadığında oluşturulur.
Olay, yalnızca fare düğmesi bırakıldığında, ancak basılmadığında oluşturulur.
Ama sonuçta, bir tıklama işleyici var mı? Yani, bir tıklama olayı olmalıdır.
Ama sonuçta, bir tıklama işleyici var mı? Yani, bir tıklama olayı olmalıdır.
Hiçbir şeyi karıştırmıyor musun? Bir CHARTEVENT_CLICK olayı var — grafik üzerinde fare tıklaması ; ama basmak yok...
Hiçbir şeyi karıştırmıyor musun? Bir CHARTEVENT_CLICK olayı var — grafik üzerinde fare tıklaması ; ama basmak yok...
Var, doğru. Sadece CButton sınıfının iki dahili olay işleyicisi vardır: OnMouseDown() ve OnMouseUp(). Ben de düşündüm ki, belki karşılık gelen olaylar vardır?
Var, doğru. Sadece CButton sınıfının iki dahili olay işleyicisi vardır: OnMouseDown() ve OnMouseUp(). Ben de düşündüm ki, belki karşılık gelen olaylar vardır?
SB'ye bakmadım, ama görünüşe göre bir tıklama OBJPROP_STATE == doğru, başka bir OBJPROP_STATE == yanlış. Ya da belki yanılıyorum.
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
Python'un Yok türüne eşdeğer MQL?
nicholi shen , 2018.10.28 21:52
MQL'de değil, artık değil. Aslında hata ayıklamada referans olarak iki kat daha yavaş geçiyor ve normal olarak derlendiğinde gerçekten önemli olmayacak kadar yakın. Kendiniz deneyin.
by_ref neden by_val'den daha yavaş?