C'è un modo per bloccare lo scorrimento del grafico quando viene premuto un pulsante del mouse all'interno di un CAppDialog aperto?
Ora, per esempio, se cliccate sul CButton all'interno della finestra di dialogo e tenete premuto il pulsante del mouse mentre spostate il cursore (spesso questo avviene anche involontariamente, di qualche pixel), il grafico inizia a scorrere.
La libreria ha solo un suggerimento per questo - l'intestazione CAppDialog, che crea un oggetto darg al clic del mouse ed entra in modalità di trascinamento, in cui il grafico stesso rimane in posizione. Se usate questa tecnologia, perdete la possibilità di cliccare su un CButton (o qualsiasi altro controller).
C'è un modo per bloccare lo scorrimento del grafico quando viene premuto un pulsante del mouse all'interno di un CAppDialog aperto?
Ora, per esempio, se cliccate sul CButton all'interno della finestra di dialogo e tenete premuto il pulsante del mouse e spostate il cursore (spesso questo avviene anche involontariamente, di qualche pixel), il grafico inizia a scorrere.
La libreria ha solo un suggerimento per questo - l'intestazione CAppDialog, che crea un oggetto darg al clic del mouse ed entra in modalità di trascinamento, in cui il grafico stesso rimane in posizione. Se usate questa tecnologia, perdete la possibilità di cliccare su un CButton (o qualsiasi altro controller).
Forse qualcuno ha già risolto questo problema?
Ho usato una rotella del mouse per scrivere un esempio per qualcuno ed è esattamente bloccato scorrendo con la rotella. Penso che tu debba modificare alcune delle proprietà del grafico
Bug in MT5 (build 2361) La lamentela principale sull'output inappropriato è "comportamento deprecato, la chiamata al metodo nascosto sarà disabilitata in una futura versione del compilatore MQL". L'implementazione attuale è sparare un cannone su un passero. Che sia rilevante o meno, l'avvertimento sta "spuntando" ad ogni chiamata di una funzione template sovraccaricata in una classe base, che in certe situazioni impedisce molto lo sviluppo:
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;
}
Ancora... venticinque...
При соединении с c.mql5.com произошла ошибка. PR_END_OF_FILE_ERROR
Sarà mai riparato? Dopo tutto, cade più volte al giorno...
tipo di risorsa sconosciuto- qual è la ragione di questo bug? È il secondo indicatore che non posso usare in questo modo.
Cari sviluppatori!
L'hanno aggiustato di recente, e di nuovo (FORTS, Open, Real, Bild 2340)
C'è un modo per bloccare lo scorrimento del grafico quando viene premuto un pulsante del mouse all'interno di un CAppDialog aperto?
Ora, per esempio, se cliccate sul CButton all'interno della finestra di dialogo e tenete premuto il pulsante del mouse mentre spostate il cursore (spesso questo avviene anche involontariamente, di qualche pixel), il grafico inizia a scorrere.
La libreria ha solo un suggerimento per questo - l'intestazione CAppDialog, che crea un oggetto darg al clic del mouse ed entra in modalità di trascinamento, in cui il grafico stesso rimane in posizione. Se usate questa tecnologia, perdete la possibilità di cliccare su un CButton (o qualsiasi altro controller).
Qualcuno ha già risolto questo problema?
C'è un modo per bloccare lo scorrimento del grafico quando viene premuto un pulsante del mouse all'interno di un CAppDialog aperto?
Ora, per esempio, se cliccate sul CButton all'interno della finestra di dialogo e tenete premuto il pulsante del mouse e spostate il cursore (spesso questo avviene anche involontariamente, di qualche pixel), il grafico inizia a scorrere.
La libreria ha solo un suggerimento per questo - l'intestazione CAppDialog, che crea un oggetto darg al clic del mouse ed entra in modalità di trascinamento, in cui il grafico stesso rimane in posizione. Se usate questa tecnologia, perdete la possibilità di cliccare su un CButton (o qualsiasi altro controller).
Forse qualcuno ha già risolto questo problema?
Ho usato una rotella del mouse per scrivere un esempio per qualcuno ed è esattamente bloccato scorrendo con la rotella. Penso che tu debba modificare alcune delle proprietà del grafico
Ecco tutti gli esempihttps://www.mql5.com/ru/docs/constants/chartconstants/charts_samples
CHART_MOUSE_SCROLL e CHART_FOREGROUND potete provare a cambiarlo.
La lamentela principale sull'output inappropriato è "comportamento deprecato, la chiamata al metodo nascosto sarà disabilitata in una futura versione del compilatore MQL".
L'implementazione attuale è sparare un cannone su un passero.
Che sia rilevante o meno, l'avvertimento sta "spuntando" ad ogni chiamata di una funzione template sovraccaricata in una classe base, che in certe situazioni impedisce molto lo sviluppo:
C++ online:https://onlinegdb.com/rkbNuGVSL
DXContextSetSize
Cambia la dimensione della cornice di un contesto grafico creato in DXContextCreate()
DXContextSetSize
Ottiene la dimensione del frame di un contesto grafico creato in DXContextCreate()
Valore e riferimento corretti: DXContextGetSize