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
Başka bir deyişle: sonunda, ben bir kısmı yapmama ve ikinci kısma sahip olmanıza rağmen, bir arayüze sahip bir danışmanınız olacak. İki parçayı tek bir Uzman Danışmanda birleştirmenin zararı olmaz.
Genel olarak, bunu yapacağız. Ben yapıcıyı yayınlayacağım ve size üzerinde gui tasarlamayı öğreteceğim. Henüz bir belge yok, bu yüzden ilgileniyorsanız öğreticiyi izleyin.
Kabul edilmiş!
Video çekmedim ama örnek yüklüyorum. hızlı bir şekilde çizilir.
600 açılır liste var.
fareyi hareket ettirin - her olay ve renk değişikliği ile genel CCanvas yeniden çizilir. bu etkileşimi elde edin.
Son boyutu bitmap özelliklerinde görebilirsiniz - 1500x600 piksel (800x500 ve 250ms gecikmenizle karşılaştırma için). Bu 900.000 puana eşittir ve her şey anında yeniden çizilir. Herhangi bir saniyeden söz edilemez.
Her liste önce kendi tuvaline kendi boyutunda çizilir (sınırların dışına çıkmamak için) ve sonra sadece genel listeye geçer. Yani her fare olayı için 600 ResourceCreate çağrımız var.
Bu, tepki hızından da görebileceğiniz gibi, gösterilecek yeterli çerçeve ve çizgi film olduğu anlamına gelir.
MT geliştiricileri, frensiz tatmin edici bir araç verdi (ResourceCreate bitmap'lerinden bahsediyorum)
Bu örneği açık kaynakta görmek mümkün mü?
Projenin kapalı moda geçmesi üzücü (
Evet, hiçbir yere gitmedi.
Bu örneği açık kaynakta görmek mümkün mü?
Tuvalle çalışmanın neresini anlamıyorsun?
1. Diğer tüm grafik nesneler gibi olaylara tepki verir. Yani fare hareket ettikçe koordinatlarını takip edebilir, fare ve klavye olaylarına tepki verebilirsiniz.
2. Her pikselin rengini bağımsız olarak değiştirebilirsiniz.
Başka ne yapar? Ve sonra biraz beyne ve anlamsızca çok zaman harcama arzusuna ihtiyacın var.
Tuvalle çalışmanın neresini anlamıyorsun?
1. Diğer tüm grafik nesneler gibi olaylara tepki verir. Yani fare hareket ettikçe koordinatlarını takip edebilir, fare ve klavye olaylarına tepki verebilirsiniz.
2. Her pikselin rengini bağımsız olarak değiştirebilirsiniz.
Başka ne yapar? Ve sonra biraz beyne ve anlamsızca çok zaman harcama arzusuna ihtiyacın var.
Şey, tuvalin kendisi olaylara tepki vermiyor. Ve her pikseli değiştirebileceğiniz gerçeği zaten açık.
Parçalanmış tuval yeniden çiziminin uygulanmasıyla ilgileniyordum.
Ancak görünüşe göre, çoğu, üzerinde yalnızca küçük bir parçanın yeniden çizilmesi gerekse bile, yani bir kontrol olsa bile, tuvalin tamamen yeniden çizilmesine karar verdi.
Şey, tuvalin kendisi olaylara tepki vermiyor. Ve her pikseli değiştirebileceğiniz gerçeği zaten açık.
Parçalanmış tuval yeniden çiziminin uygulanmasıyla ilgileniyordum.
Ancak görünüşe göre, çoğu, üzerinde yalnızca küçük bir parçanın yeniden çizilmesi gerekse bile, yani bir kontrol olsa bile, tuvalin tamamen yeniden çizilmesine karar verdi.
Tuval kendi başına olaylara tepki vermez, ancak kendi başına var olmaz.
Parçalı yeniden çizim - yapmaya başlamaya değer ve böyle bir hedef olup olmadığı netleşecek. Bir dizi kontrol olması gerektiğini düşünüyorum, her kontrolün sınırları tanımladı. Bazı kontrolleri yeniden çizmeniz gerektiğinde, tüm kontrolleri gözden geçirmeniz, hangilerinin hala bu alana düştüğünü görmeniz ve yalnızca onları yeniden çizmeniz gerekir. Yine de.
Tuval kendi başına olaylara tepki vermez, ancak kendi başına var olmaz.
Parçalı yeniden çizim - yapmaya başlamaya değer ve böyle bir hedef olup olmadığı netleşecek. Bir dizi kontrol olması gerektiğini düşünüyorum, her kontrolün tanımlanmış sınırları var. Bazı kontrolleri yeniden çizmeniz gerektiğinde, tüm kontrolleri gözden geçirmeniz, hangilerinin hala bu alana düştüğünü görmeniz ve yalnızca onları yeniden çizmeniz gerekir. Yine de.
Aynen öyle kurdum. Prensip olarak, standart kitaplığı temel aldım, çünkü olay iletimi anları ve diğer bazı noktalar içinde çok iyi işlendi. Anatoly, her farklı öğe sınıfı için bir gruplama oluştururken, standart olanda her şey tek bir temel nesneye indirgenir.
Sonuç olarak, WndObject'in herhangi bir kontrolün en yaygın özelliklerinin (boyut, konum, arka plan rengi, kenarlık rengi, kenarlık kalınlığı, metin, resim vb.) tam bir açıklamasını içerdiğini elde ederiz. Ayrıca, aynı sınıf ebeveyn denetimine bir başvuru içerir. Yani, bir öğe için bir ebeveyn belirtilmemişse, grafik üzerinde kendi tuval nesnesini oluşturur, aksi takdirde üst tuval üzerine çizilir. Pozisyona bağlı olarak (bağımsız, ast), eleman konumunun koordinatları da hesaplanır. Ek olarak, aynı nesne, bu öğenin kapladığı ana alanın ilk açıklamasını içeren bir diziye sahiptir. Fikir şudur: eğer sadece elemanın kendisi değişirse, çizimden önce piksel alanı ebeveynin piksel matrisi ile doldurulur ve ancak o zaman kontrolün yeni durumu uygulanır. bu yaklaşımla, tüm tuvali her seferinde yeniden çizmek gerekli değildir, çünkü yeniden çizim, dizinin tüm öğelerinin bir geçişidir ve iç içe öğelerle yinelemeli olarak. Belirli bir kontrolü çizmek ve güncellemek için iki işlev varsayılır: biri, tüm kontrolü oluştururken öğeyi ebeveynin üstüne (veya boş bir tuval üzerine) çizer, ikincisi yalnızca verilen kontrolün görüntüsünü günceller. Bunun gibi bir şey.
Olay modelinde "kayıp" iken: hangi değişikliklerden sonra, hangi katmanların yeniden çizilmesi gerekir.
Nikolai örneklerinde prensipte yerel alan verilerini depolamakla uğraşmamanız gerektiğini gösteriyor, çünkü tüm tuvali yeniden çizmek o kadar hızlı çalışıyor ki aşağılara ve ayrıntılara gerek yok, her zaman her şeyi bir kerede yeniden çizmek yeterli.