Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Kod yalnızca Rusça ve İngilizce dillerini kontrol eder
Birisi Başlat düğmesinin diğer dillerdeki adını verirse, onu kaynağa ekleyeceğim.
Çince için "Başlat" ve "Durdur" düğmelerinin metni aşağıdaki gibidir: "开始" ve "停止".
Güncellendi.
Düğmeden bir dize okumak ve ardından aynı kalıp kalmadığını veya değişip değişmediğini karşılaştırmak daha kolay olmaz mıydı?
Sonuçta, işlev önceki durumlara bağlı olmamalıdır. Renk kullanmak daha kolay olurdu: yeşil - başla, aksi halde - dur. Ancak WinAPI'de her şeyi poke yöntemiyle yapıyorum, bu yüzden düğmenin rengini (Yeşil bileşen) nasıl okuyacağımı bilmiyorum. Çalışan bir varyant varsa, elbette değiştireceğim.
Yine de, işlev önceki durumlara bağlı olmamalıdır. Renk kullanmak daha kolay olurdu: yeşil - başla, aksi halde - dur. Ancak WinAPI'de her şeyi poke yöntemiyle yapıyorum, bu yüzden düğmenin rengini (Yeşil bileşen) nasıl okuyacağımı bilmiyorum. Çalışan bir varyant varsa, elbette değiştireceğim.
Bu kod benim tarafımdan test edildi ve çalıştığı onaylandı.
(Her iki yöntemi de saklamanızı tavsiye ederim, belki gelecekte MT5 geliştiricileri renkleri değiştirir).
Yine de, işlev önceki durumlara bağlı olmamalıdır. Renk kullanmak daha kolay olurdu: yeşil - başla, aksi halde - dur. Ancak WinAPI'de her şeyi poke yöntemiyle yapıyorum, bu yüzden düğmenin rengini (Yeşil bileşen) nasıl okuyacağımı bilmiyorum. Çalışan bir varyant varsa, elbette değiştireceğim.
Muhtemelen düğmenin rengine göre değil, Girişler listesinin durumuna göre daha kolaydır - etkin/devre dışı.
Girişlerin durumunu nereden öğrenebilirim? Resmi bir API yok, bunu renklere ve metne göre belirlememiz gerekiyor.
Tüm MT5 dahili bileşenleri için resmi bir API yoktur - bunları MS Spy gibi yardımcı programlar aracılığıyla incelemeniz gerekir - şimdi multitester'da kullanılan kontrol tanımlayıcıları bu şekilde bulundu.
Girdilerin vahşi doğasına girmezseniz ve sadece zaten test edilmiş başlat düğmesini kullanırsanız, GetWindowLongW(hwnd, 0) çağrısının düğmenin mevcut rengini döndürmesi gerektiği görülüyor. Benimki yeşil olan için 0xD0B1DF10 döndürüyor. Yalnızca MQ stili düzeltmeye karar verirse, bu ayar ortadan kalkabilir. Bu yüzden Girişlerin etkinliğini kontrol etmek her halükarda daha güvenilirdir.