Canvas üzerinde bir kitle kaynaklı proje yapma - sayfa 7

 
o_O :

ne yazık ki kodun eksiksizliği yok. şimdi grafik olayları A ve a arasında ayrım yapmıyor

Bu konuda, ben de zaten SD'ye yazdım

SD'den bu konuda güzel haber geldi

sonraki derlemede, CapsLock ve Shift'in durumunu belirlemek için TerminalInfoInteger sabitleri eklenecektir.

şu anda belgesiz durumdalar.

1020 - büyük harf kilidi
1016 - Vardiya
1255 - geçerli giriş dili kodu

yani, düzenleme zaten yarı çalışıyor. ))

İkinci görev kalır - grafiğin alanı ele geçirmesini engellemek ve girmek.

 
Vasiliy Sokolov :
Varsa, frenler çıplak gözle görülmez. Panelimde bir kerede MouseMove on binlerce öğeye gönderildi, dahil. görünmez, sonra daha akıllı bir postalama yaptım, ancak görsel olarak bu hız katmadı.
Kesinlikle frenler var. Nesnelerin sayısına bağlıdır. Kontrol. Nesne sayısı 400 - 500'ü geçmeye başlayınca pencerelerimin sürüklenmesi yavaşlamaya başlıyor... Kodun verimini artırmak için aylarca uğraşıldı ama bu etkinin üstesinden gelmek mümkün olmadı. Bilgisayar ne kadar güçlü olursa, nesne sayısı o kadar fazla olursa, frenleme görünmez kalacaktır.
 
Реter Konow :
Kesinlikle frenler var. Nesnelerin sayısına bağlıdır. Kontrol. Nesne sayısı 400 - 500'ü geçmeye başlayınca pencerelerimin sürüklenmesi yavaşlamaya başlıyor... Kodun verimini artırmak için aylarca uğraşıldı ama bu etkinin üstesinden gelmek mümkün olmadı. Bilgisayar ne kadar güçlü olursa, nesne sayısı o kadar fazla olursa, frenleme görünmez kalacaktır.
Performans, olay teslim algoritmasından + öğenin geçirilen olaya verdiği minimum tepkiden etkilenir. Görünüşe göre sizin durumunuzda frenler olayın kendisinden değil, bu olayları işleyen algoritmalardan kaynaklanıyor.
 
o_O :

Göstergenin birden çok örneği aynı tuvalde mi görüntüleniyor? İyi bilmiyorum. çok ürkütücü.

Değil. Kısacası, tek ihtiyacım olan bir MouseDown olayı, mutlu olacağım
 
Комбинатор :
Değil. Kısacası, tek ihtiyacım olan bir MouseDown olayı.
Fare tuşlarının, Crtl ve Shift'in durumunu bildiren CHARTEVENT_MOUSE_MOVE olayını izleyin.
 
Vasiliy Sokolov :

Bana öyle geliyor ki Anatoly'nin makalelerinden sonra aynı yumurtaları sadece profilde tekrar yaratmak en azından garip bir eğlence. Grafik, MT için hiç alakalı bir konu değil.

  • Kullanıcıların grafik arayüzlere ihtiyacı yoktur. Sonuç olarak, GUI'den para kazanılamaz ve gelişimi asla sonuç vermez.
  • Becerilerinizi geliştirmek istiyorsanız, hemen bir yerde bir iş bulmak daha iyidir. Böylece hemen en azından biraz para almaya başlayacak ve becerilerinizi yavaş yavaş artıracaksınız.
  • Çok dar hedef kitle. Kim kütüphanelere ihtiyaç duyar? - Kesinlikle bir avuç programcı dışında hiç kimse ve bu programcılar bile uzun zaman önce ihtiyaç duydukları tüm kütüphaneleri yazdılar. Örneğin, iki taneye kadar kendi grafik kitaplığım var.

Burada bulunanlara öğretmek benim haddime değil ama tavsiye verebilirim: beyler barutu koklayın. Kullanıcılarla çalışmayı öğrenin . Psikolojilerini öğrenin. Fikirlerinizden para kazanmayı öğrenin. Sonra çabucak gökten yeryüzüne inin ve tamamen farklı bir şekilde tartışacaksınız. Ben de bir zamanlar bazı özel ve güzel fikirlere inandım ama bütün bunlar saçmalık, işe yaramıyor. Burada tartıştığınız şeyin sizden başka kimseye faydası yok.

+ evet

Kullanıcıya söylediğim anda - hadi gerçekten harika ve güzel bir arayüz yapalım! HEPSİ HAYIR DİYOR !

herhangi bir süsleme çiçeği ve ek işlevsellik olmadan gerçekten bir danışmana ihtiyaçları var - yani, uygun ve güzel bir arayüz olmadan!

Kullanıcıların istediği en önemli şey, ürünün TOR'a göre çalışmasıdır.

Hepimiz bir arayüz + tasarım geliştirmenin çok zaman aldığını biliyoruz - çok pahalı bir kaynak Hata ayıklama için ZAMAN harcanıyor!

 
Ilyas :
Fare tuşlarının, Crtl ve Shift'in durumunu bildiren CHARTEVENT_MOUSE_MOVE olayını izleyin.
Eh, yukarıda açıkladım, bu olay nesneye bağlı değil ve çok sık gönderiliyor. Nesneye bağlı olmamak daha önemlidir.
 
Ilyas :
Fare tuşlarının, Crtl ve Shift'in durumunu bildiren CHARTEVENT_MOUSE_MOVE olayını izleyin.

tam olarak ne beklendiği değil.

Fareyi kaldırdıktan sonra OBJECT_CLICK olayının oluşturulduğu hakkında konuşma. Farenin nesneye basıldığı anı izleyemez.

Etkinliğin başlamasını istiyorum. fare bir nesneye tıklar.

birleştirici :
Eh, yukarıda açıkladım, bu olay nesneye bağlı değil ve çok sık gönderiliyor. Nesneye bağlı olmamak daha önemlidir.
CHARTEVENT_OBJECT_DRAG - hatırladığım kadarıyla, hareketin başında değil, fare serbest bırakıldıktan sonra da oluşturuluyor?
 
o_O :
CHARTEVENT_OBJECT_DRAG temelde işe yaramaz bir olaydır. Bir grafik nesnenin standart yolunda sürüklemenin sona erdiğini bildirdiği için (yani seçilmesi gerekir ve seçilen nesneler del tuşuna basılarak mükemmel bir şekilde silinir)
 
Vasiliy Sokolov :
Performans, olay teslim algoritmasından + öğenin geçirilen olaya verdiği minimum tepkiden etkilenir. Görünüşe göre sizin durumunuzda frenler olayın kendisinden değil, bu olayları işleyen algoritmalardan kaynaklanıyor.

Bakın, olay teslimi ve algoritma mümkün olan en basit: MouseMove olayının OnChartEvent() içinde, içinde basılan sol fare düğmesinin durumunun da sabitlendiği, pencerenin hareket eden tutamacına basma olayını yakalarız. Daha sonra, döngü içindeki tüm pencere nesnelerine, geçerli imleç ofsetine eşit bir X ve Y ofsetinin (ObjectSetInteger() kullanılarak) verildiği pencere hareketi fonksiyonunu çağırırız . Bu kadar.

Aynı zamanda, pencerede ne kadar çok nesne varsa, o kadar çok nesnenin taşınması gerektiği açıktır. Görünüşe göre, hareket ettirilen çok sayıda nesne frenlemeye neden oluyor ...

Neden: