Açık CAppDialog içinde fare düğmesine basıldığında grafik kaydırmayı bir şekilde engellemek mümkün müdür?
Şimdi, örneğin, iletişim kutusunun içindeki CButton düğmesine tıklarsanız ve fare düğmesini bırakmadan imlecini hareket ettirirseniz (bu genellikle istemeden bile olsa birkaç piksel olur), grafik kaymaya başlar.
Kitaplığın bununla ilgili tek bir ipucu var - fare tıklamasıyla bir darg nesnesi oluşturan ve grafiğin kendisinin yerinde kaldığı sürükle ve bırak moduna geçen CAppDialog başlığı. Bu teknolojiyi kullanırsanız, CButton'a (veya başka bir kontrole) tıklama yeteneği ortadan kalkar.
Açık CAppDialog içinde fare düğmesine basıldığında grafik kaydırmayı bir şekilde engellemek mümkün müdür?
Şimdi, örneğin, iletişim kutusunun içindeki CButton düğmesine tıklarsanız ve fare düğmesini bırakmadan imlecini hareket ettirirseniz (bu genellikle istemeden bile olsa birkaç piksel olur), grafik kaymaya başlar.
Kitaplığın bununla ilgili tek bir ipucu var - fare tıklamasıyla bir darg nesnesi oluşturan ve grafiğin kendisinin yerinde kaldığı sürükle ve bırak moduna geçen CAppDialog başlığı. Bu teknolojiyi kullanırsanız, CButton'a (veya başka bir kontrole) tıklama yeteneği ortadan kalkar.
Belki birisi bu sorunu zaten çözmüştür?
Birine fare tekerleği ile bir örnek yazdım ve tekerlek ile kaydırmayı tam olarak engelledim, bence bazı grafik özelliklerini düzenlemeniz gerekiyor
Hatalar MT5 (2361) Uygunsuz uyarı çıktısıyla ilgili ana şikayet, "kullanımdan kaldırılan davranış, gizli yöntem çağrısı gelecekteki bir MQL derleyici sürümünde devre dışı bırakılacaktır". Mevcut uygulama, serçelere top atışıdır. Uygun olup olmaması önemli değil - uyarı, aslında bazı durumlarda geliştirmeyi oldukça fazla engelleyen temel sınıftaki aşırı yüklenmiş şablon işlevine yapılan herhangi bir çağrıyla "tırmanıyor":
class FakeArgument_A1{
} fake_argument_a1;
class FakeArgument_B1 : public FakeArgument_A1{
} fake_argument_b1;
struct Iterator{
char data;
};
class Allocator_traits{
public :
template < typename InputIterator>
void construct_range( const InputIterator &it, int n, const FakeArgument_A1* = NULL ){
printf ( "1" );
}
template < typename InputIterator, typename _Tp>
void construct_range( const InputIterator &it, constint n, const _Tp &value, const FakeArgument_A1* = NULL ){
printf ( "2" );
}
template < typename OutputIterator, typename InputIterator>
void construct_range( const OutputIterator &it, const InputIterator &_first, const InputIterator &_last, const FakeArgument_A1* = NULL ){
printf ( "3" );
}
};
class Allocator : public Allocator_traits{
public :
#ifdef __cplusplus
using Allocator_traits::construct_range;
#endif
template < typename InputIterator>
void construct_range( const InputIterator &it, int n, const FakeArgument_A1* = NULL ){
printf ( "4" );
}
};
voidOnStart (){
Iterator it = {};
Allocator alloc;
alloc.construct_range(it, it, it); // Compile Error: False Positive Warnings - deprecated behavior, hidden method calling will be disabled in a future MQL compiler version
alloc.construct_range<Iterator, Iterator>(it, it, it); // Compile Error: 'construct_range' - wrong template parameters count
alloc.construct_range(it, it, it, (FakeArgument_B1*) NULL ); // Bypass False Positive Warnings - "deprecated behavior" constint n = 5 ;
constint value = 0 ;
alloc.construct_range(it, n, value); // Compile Error: Ok, should be: 'construct_range' - ambiguous call to overloaded function
alloc.construct_range(it, n, value, (FakeArgument_B1*) NULL ); // OK. Compile Error: - 'construct_range' - ambiguous call to overloaded function
}
int main(){
OnStart();
return 0;
}
Yine yirmi beş...
При соединении с c.mql5.com произошла ошибка. PR_END_OF_FILE_ERROR
Hiç düzelecek mi? Sonuçta, günde birkaç kez düşüyor ...
bilinmeyen kaynak türü - bu hatanın nedeni nedir? İkinci göstergeyi böyle kullanamam.
Sevgili geliştiriciler!
En son, düzelttiler ve tekrar (FORTS, Opener, real, Build 2340)
Açık CAppDialog içinde fare düğmesine basıldığında grafik kaydırmayı bir şekilde engellemek mümkün müdür?
Şimdi, örneğin, iletişim kutusunun içindeki CButton düğmesine tıklarsanız ve fare düğmesini bırakmadan imlecini hareket ettirirseniz (bu genellikle istemeden bile olsa birkaç piksel olur), grafik kaymaya başlar.
Kitaplığın bununla ilgili tek bir ipucu var - fare tıklamasıyla bir darg nesnesi oluşturan ve grafiğin kendisinin yerinde kaldığı sürükle ve bırak moduna geçen CAppDialog başlığı. Bu teknolojiyi kullanırsanız, CButton'a (veya başka bir kontrole) tıklama yeteneği ortadan kalkar.
Belki birisi bu sorunu zaten çözmüştür?
Açık CAppDialog içinde fare düğmesine basıldığında grafik kaydırmayı bir şekilde engellemek mümkün müdür?
Şimdi, örneğin, iletişim kutusunun içindeki CButton düğmesine tıklarsanız ve fare düğmesini bırakmadan imlecini hareket ettirirseniz (bu genellikle istemeden bile olsa birkaç piksel olur), grafik kaymaya başlar.
Kitaplığın bununla ilgili tek bir ipucu var - fare tıklamasıyla bir darg nesnesi oluşturan ve grafiğin kendisinin yerinde kaldığı sürükle ve bırak moduna geçen CAppDialog başlığı. Bu teknolojiyi kullanırsanız, CButton'a (veya başka bir kontrole) tıklama yeteneği ortadan kalkar.
Belki birisi bu sorunu zaten çözmüştür?
Birine fare tekerleği ile bir örnek yazdım ve tekerlek ile kaydırmayı tam olarak engelledim, bence bazı grafik özelliklerini düzenlemeniz gerekiyor
tüm örnekler burada https://www.mql5.com/en/docs/constants/chartconstants/charts_samples
CHART_MOUSE_SCROLL ve CHART_FOREGROUND değiştirmeyi deneyebilirsiniz, belki durum böyledir
Uygunsuz uyarı çıktısıyla ilgili ana şikayet, "kullanımdan kaldırılan davranış, gizli yöntem çağrısı gelecekteki bir MQL derleyici sürümünde devre dışı bırakılacaktır".
Mevcut uygulama, serçelere top atışıdır.
Uygun olup olmaması önemli değil - uyarı, aslında bazı durumlarda geliştirmeyi oldukça fazla engelleyen temel sınıftaki aşırı yüklenmiş şablon işlevine yapılan herhangi bir çağrıyla "tırmanıyor":
C++ çevrimiçi: https://onlinegdb.com/rkbNuGVSL
DXContextSetSize
DXContextCreate() içinde oluşturulan bir grafik bağlamının çerçeve boyutunu değiştirir
DXContextSetSize
DXContextCreate() içinde oluşturulan bir grafik bağlamının çerçeve boyutunu alır
Geçerli değer ve başvuru: DXContextGetSize