MQL ile yazılmış kullanıcı arayüzleri galerisi - sayfa 41

 

İyi akşamlar sevgili forum üyeleri.

Sonunda, motoru yayınlamanın ve MQL5'te zengin bir grafik arayüze sahip büyük ve çok güzel programlar oluşturmak isteyenlere yardımcı olmanın zamanı geldi. Şimdi bu hedef kol mesafesinde.

Ve böylece:

1. Motorun ilk sürümü. "İlk" kelimesinin altını çizmek istiyorum. İlk seferde hiçbir şey mükemmel olmaz. Muhtemelen benim fark etmediğim hatalar bulacaksınız. Sorun değil. Henüz üstesinden gelemediğim bir hata olmadı. Her şey hızlı bir şekilde çözüldü.

2. Motor tamamen bitmiş değil. Şu anda,"koşullu kullanıcı" uygulaması (1) EA Shell v1.mq5 (motoru test etmek için özel olarak yazılmıştır) oluşturulan GUI'nin kontrollerinin tüm olaylarını yakalar. Bu zaten kullanıcı kodunun programatik olarak tepki vermesini mümkün kılıyor. Olaylar gelir, OnGuiEvent() fonksiyonunun gerekli durumlarına değerler getirir; API dosyasında, kullanıcının arayüzün olaylarına tepki kodunu yazacağı yer burasıdır.

3. Motor üzerinde çok fazla çalışma yapıldı. Değişiklikler hem yerel hem de global seviyeleri etkiledi. Bu süre zarfında tam olarak ne yazdığımı ve yeniden yaptığımı ayrıntılı olarak açıklayacağım. Liste uzun olacak.

4. Sürüm, ReadMe.txt dosyasında kurulum talimatlarına sahiptir. Ancak, netlik için resimler ekleyeceğim. Eğer açık değilse, sorun. Size yardımcı olacağım.


Genel olarak, sürümü alın ve başlayalım.

Dosyalar:
 

Kurucunun yeni sürümünün yüklenmesi sonucunda, güncellenmiş bir içerik menüsü görmelisiniz (grafiğe çift tıklayın):


Böyle bir menü görüyorsanız, kurulum başarılı olmuş demektir.

 

Bu kurulum bir öncekinden farklı değildir. Aynı adımlar aynı sırada.

Bu blogda metin talimatları var. Ve resimlerde de:

https://www.mql5.com/ru/blogs/post/758425

KIB-DRIVE instalation instractions
KIB-DRIVE instalation instractions
  • www.mql5.com
This archive contains: //------------------------------------------------------------------------------ 1. Folder     (1) KIB 1.0
 

Ayrı olarak yeni EA Shell v1.mq5 dosyasından bahsetmek istiyorum

EA'lar klasörüne kaydedin, ancak yalnızca API dosyasını yapıcıya yazdırdıktan sonra derleyin. Başlığındaki bağlantılar hakkında.

1. Yapıcıyı ve göstergeyi daha önce olduğu gibi bir grafik üzerinde çalıştırın.

2. Hemen içerik menüsünü açın ve UIDATA ve API dosyalarını yazdırın.

3. Bu dosyaları bu yoldaki klasöre aktarın:

#include<(2)  KIB PROJECTS\(5) USER PROJECTS\Project 1\

4. EA Shell v1.mq5 'i derleyin ve başka bir grafiğe bırakın.

5. Tamamlandı.

 

Resimlerle küçük bir talimat:

1.


2.


3.


4.


5.


6.


7.


 
Küçük kurulum talimatları (1) EA Shell v1.mq5 ayrıca...
 

1.



2.


3.



4.



5.



6.



7.


DiscussionForumPosting - Schema.org Type
  • schema.org
Schema.org Type: DiscussionForumPosting - A posting to a discussion forum.
 

Yukarıdaki ayar pencereleri, özel işlevsellik tarafından arayüz olaylarına bağlantı ve yanıtı test etmek için tasarlanmıştır.

Bunu yapmak için API dosyasını açın ve çağrılarınızı yazın.

Varsayılan olarak, arayüz olayları Alert() işlevini çağırır ve öğeler üzerindeki etki olaylarında tanımlayıcılarını ve parametre değerlerini yazdırır.

 
Yeni sürümü daha sonra test edeceğim.
 

Bu ve bir sonraki sürümdeki düzeltmelerin ve güncellemelerin bir listesi:

Küresel Değişimler:

  • Internal_API dosyası sadece ARI olarak yeniden adlandırıldı.
  • Kullanıcının kontrollerle çalışmasıyla ilgili olmayan tüm tanımlar ve işlevler API dosyasından kaldırıldı. Kısmen UIDATA dosyasına taşındılar.
  • Kullanıcı kodunu kontrollerle bağlama yöntemi temelden değiştirilmiştir. Kullanıcı, kontrollerin depolandığı G_CORE çekirdeğine doğrudan erişebilecektir. Erişim, UIDATA dosyasına otomatik olarak yazdırılan sarmalayıcı işlevler aracılığıyla gerçekleştirilir.
  • Öğeleri intellisense aracılığıyla bulmayı kolaylaştırmak için sarmalayıcı işlevlerin adlarına özel bir önek eklenir.
  • Bir kullanıcı uygulaması için içerik menüsü oluşturma imkanı açıldı. Include<(2) KIB PROJECTS\(1) Must be included\User section\My menu section.mqh> dosyasında özel bir alan tahsis edilmiştir
  • Kullanıcının görev çubuğunun sağ kısmına düğmeler ayarlama imkanı eklendi. Bu amaçla #include<(2) KIB PROJECTS\ (1) Must be included\User section\ My Taskbar section.mqh> dosyasında özel bir alan hazırlanmıştır.
  • Özel içerik menüsü ve görev çubuğu artık kurucunun içerik menüsünden çağrılıyor ve diğer pencerelerin düzenlenmesine müdahale etmiyor:


  • Kullanıcı içerik menüsü küçük menü pencerelerini çağırabilir.

Projeyi kaydettikten ve başka bir grafik üzerinde kullanıcı uygulama moduna geçtikten sonra bu şekilde görünür: .

  • Bağlam menüsü pencerelerinin davranışı Windows uygulama ortamındaki davranışlarına benzer.

  • Bağlam menüsü seçenekleri fonksiyonları veya pencereleri çağırabilir. Bir menü öğesi bir pencere çağırırsa, pencere simgesi otomatik olarak sola ayarlanır.



  • Yerel değişiklikler ve iyileştirmeler:

  • Grafikler arasında geçiş yaparken görev çubuğunun atlamasıyla ilgili bir sorun düzeltildi. Artık pencere yeniden boyutlandırmaya daha iyi ve daha hızlı uyum sağlıyor.
  • Kaydırıcılar daha iyiçalışıyor:
  • Değer sekmesi (S_WIDGET) her zaman değerin rakamlarını barındırır ve maksimum (veya minimum) değerin metin boyutuna bağlı olarak boyut alır.
  • Skorbord, kullanıcının istediği şekilde 4 taraftan birine yerleştirilir (bayraklarla ayarlanır).
  • Kaydırıcı, içindeki herhangi bir değeri değiştirir herhangi bir ile aralık herhangi bir Kaydırıcı, herhangi bir aralıktaki herhangi bir değeri, herhangi bir ondalık basamak sayısıyla ve belirtilen herhangi bir adımda değiştirir.
  • Ondalık basamak sayısı (değerin hassasiyeti) kullanıcı tarafından ayarlanır (DIGITS kelimesi).
  • Kaydırıcının boyutu ve değer aralığı bir rol oynamaz. Algoritma, kaydırıcının aralık boyunca hareketini, bir uçta her zaman bir minimum ve diğer uçta her zaman bir maksimum olacak şekilde hesaplar.
  • Kaydırıcı izine tıklandığında, kaydırıcı otomatik olarak tıklama yerine atlar ve fare düğmesine basılırsa kullanıcıyla senkronize olarak hareket etmeye devam eder.
  • Kaydırıcıyı fare tekerleği ile kaydırıcı izi boyunca kaydırma olasılığının eklenmesi planlanmaktadır.


  • Açılır liste ile ilgili sorunlar düzeltildi.

  • Aç düğmesine tıklandığında liste artık atlamıyor.
  • En alta kaydırıldığında listenin kaybolması sorunu düzeltildi.
  • İmleç kaydırma çubuğu veya düğmeler üzerinde olsa bile liste tekerlekle kaydırılabilir.
  • Fare tekerleği ile liste kaydırma artık daha hızlı.


  • Yanlış tıklama sorunu çözüldü:

  1. Önceden, bir düğmeye veya benzer bir öğeye basmak, basma işlemi öğe alanının dışında gerçekleşse bile bir durum değişikliğine neden oluyordu. Bu sorun çözülmüştür. Kullanıcı bir öğeye tıkladıktan sonra fikrini değiştirip imleci uzaklaştırırsa veya başka bir öğeye ya da grafiğin boş alanına taşırsa, ilk tıklanan öğe her zaman önceki durumuna geri dönecektir. Sanki hiçbir şey olmamış gibi. Olay iptal edilecek ve parametre değerinde herhangi bir değişiklik olmayacaktır. Yanlış tıklama sabitlemesi, imleci (fare düğmesi hala basılıyken) başka bir alana taşıyarak tıklamayı son anda iptal etmenize olanak tanır.


  • Kullanıcıların oluşturmasını kolaylaştırmak için profesyonel Windows benzeri ayar pencereleri için şablonlar oluşturmaya odaklanmaya karar verildi. Bu tür pencerelere iyi bir örnek, dahil edilen Ayarlar örnek 1 ve Ayarlar örnek 2 pencereleridir (içerik menüsünden ve kullanıcı görev çubuğundan çağrılır):

  • Mesajları engelleme imkanı eklendi.

    Örnek:

Önce farklı ayar pencerelerini açın. Düğmeleri görev çubuğunun altındadır. Ardından içerik menüsüne gidin (grafiğe çift tıklayın) ve "Üzgünüz, bu emir engellendi" penceresini açın. Burada yer almaktadır:


Ardından, "Üzgünüz, bu sipariş engellendi" penceresi açıkken önceden açılmış herhangi bir pencereye tıklamayı deneyin. Bu pencere kapatılana kadar diğer pencerelerdeki tüm eylemler engellenecektir. Ancak, siber koddaki pencere özelliklerinde engellenen pencerelerin listesini sınırlayabilirsiniz. O zaman bazı pencereler engellenir ve bazıları engellenmez. Kullanıcının kararına bağlı olarak.


  • Artık diyalog pencereleri sesli olarak açılabilir. Bu, pencere özelliklerindeki KIB kodu aracılığıyla ayarlanır.
  • Diyalog pencereleri diğer pencerelere göre özel bir önceliğe sahiptir ve her zaman ayar pencerelerinin üzerine çizilir.
  • Diyalog pencerelerinin düğmeleri (Tamam, İptal, Onayla, Kapat) çalışır ve basıldığında pencerelerini otomatik olarak kapatır.


  • İletişim kutularının simge durumuna küçültme özelliği devre dışı bırakılabilir. Bu durumda görev çubuğunda görünmezler.


  • Pencere adı solda veya ortada yer alabilir. Pencere özelliklerinde bir bayrakla ayarlanır (cyb-code).
  • Diyalog pencereleri kullanıcının uygulamasından programlı olarak çağrılabilir.
  • Diyalog pencereleri başka bir pencereye veya grafiğe tıklandığında otomatik olarak kapatılabilir. Bu olasılık kullanıcı tarafından cyb-kodundaki pencere özelliklerinde ayarlanır.