OBJ_LABEL , bir fonksiyondan ayarlandığında merkeze doğru hareket eder, onu seçmeye değer ve sağ tarafa doğru hareket eder, kısmen grafik penceresinin sınırlarının ötesine geçer. Çapa sağ üst köşededir. İşlev:
//+-------------------------------------------------------------------------------------------------+//| Параметры: |//| nm - наименование объекта |//| tx - текст |//| cl - цвет метки |//| xd - координата X в пикселах |//| yd - координата Y в пикселах |//| cr - номер угла привязки (0 - левый верхний ) |//| 1 - правый верхний |//| 2 - левый нижний |//| 3 - правый нижний ) |//| fs - размер шрифта (9 - по умолчанию ) |//+-------------------------------------------------------------------------------------------------+void SetLabel( string nm, string tx, color cl, int xd, int yd, int cr= 0 , int fs= 9 ) {
if ( ObjectFind (nm)< 0 ) ObjectCreate (nm, OBJ_LABEL , 0 , 0 , 0 );
ObjectSetText(nm, tx, fs, "Arial" );
ObjectSet(nm, OBJPROP_COLOR , cl);
ObjectSet(nm, OBJPROP_XDISTANCE , xd);
ObjectSet(nm, OBJPROP_YDISTANCE , yd);
ObjectSet(nm, OBJPROP_CORNER , cr);
ObjectSet(nm, OBJPROP_FONTSIZE , fs);
}
554 ve daha eski yapı sürümlerinin önceki sürümlerinde, her şey olması gerektiği gibi çalıştı, merkeze çıkış yoktu ve ardından grafik penceresinin sınırlarının dışında sağa, her şey hemen belirtilen sınırlara bağlandı.
557. yapıda, tüm OBJ_EDIT koordinatları her iki koordinatta da 1 piksel aşağı kaydırıldı. Nesneler doğru bir şekilde yerleştirildi, şimdi her şey biraz sağa ve aşağı hareket etti.
Ayrıca, OBJ_LABEL'i programlı olarak hareket ettiremezsiniz. 5'ten gelen bu işlev 555'te mükemmel çalıştı, kodumu değiştirmedim.
//+------------------------------------------------------------------+//| Перемещает текстовую метку |//+------------------------------------------------------------------+bool LabelMove( constlong chart_ID= 0 , // ID графикаconststring name= "Label" , // имя меткиconstint x= 0 , // координата по оси Xconstint y= 0 ) // координата по оси Y
{
//--- сбросим значение ошибкиResetLastError ();
//--- переместим текстовую метку if (! ObjectSetInteger (chart_ID,name, OBJPROP_XDISTANCE ,x))
{
Print ( __FUNCTION__ ,
": не удалось переместить X-координату метки! Код ошибки = " , GetLastError ());
return ( false );
}
if (! ObjectSetInteger (chart_ID,name, OBJPROP_YDISTANCE ,y))
{
Print ( __FUNCTION__ ,
": не удалось переместить Y-координату метки! Код ошибки = " , GetLastError ());
return ( false );
}
//--- успешное выполнениеreturn ( true );
}
//+------------------------------------------------------------------+
benzer bir işlev düğmeler için çalışır, ancak OBJ_LABEL için çalışmaz.
OBJ_LABEL için aynı işlevi kullanarak Barbarian ile aynı nesne sorunlarına sahibim. Dün sabah buraya yazdım. Görünen o ki, koordinatların orijini görünür grafiğin dışında, grafiğin kenarında değil, pencerenin kenarında. OBJ_LABEL'i sağ alt köşeden +1 koordinatlarıyla görüntülerseniz, her şey mükemmel bir şekilde görünür olacaktır. Grafiğin üst kenarındaki nesneler de kayboluyor, görünüşe göre yukarı çıkıyor. Grafik tam ekrana büyütüldüğünde, OBJ_LABEL kaymaz, ortada görünür. Barbar zaten anlatmıştı ama senin düzelttiğin ya da ne olduğu belli değil.
OBJ_LABEL için aynı işlevi kullanarak Barbar ile aynı nesne sorunlarına sahibim. Dün sabah buraya yazdım. Görünen o ki, koordinatların orijini görünür grafiğin dışında, grafiğin kenarında değil, pencerenin kenarında. OBJ_LABEL'i sağ alt köşeden +1 koordinatlarıyla görüntülerseniz, her şey mükemmel bir şekilde görünür olacaktır. Grafiğin üst kenarındaki nesneler de kayboluyor, görünüşe göre yukarı çıkıyor. Grafik tam ekrana büyütüldüğünde, OBJ_LABEL kaymaz, ortada görünür. Barbar zaten anlatmıştı ama senin düzelttiğin ya da ne olduğu belli değil.
Bende de aynısı var. 557 oluşturun, yeni güncellendi. Ekranda büyük miktarda bilgi görüntülenen bir danışmanım var, şimdi grafikte kaos basit.
Tüm metinlerin ( OBJ_LABEL ) kendine ait bir ömrü vardır. Üstelik koordinatların nasıl seçildiği belli değil, sanki rastgele bir his var.İlginç olan, seçildiğinde zıplıyorlar, ama tamamen yersiz.
Eski dört tabanlı grafik nesne yönetimi ile birlikte beşli stilde nesne yönetimi yapıyoruz.
Ne yazık ki, hiçbir hata yoktu. Neyse ki, birçok hata zaten düzeltildi.
Bu çok açık. Bence hiç kimse her şeyin kesinlikle hatasız gitmesini beklemiyor. Sadece 555'te çalışan bir şey 556'da daha da kötüleştiğinde veya 557'de hiç çalışmadığında (benimki dahil) öfkeli sesler çıkıyor. Ve böylece her şey yolunda. Düğmeler çalışıyor, teşekkürler. Doğru, çizim nesneleri hala çağrı sırasına göre değil, ada göredir.
557 oluşturun.
OBJ_LABEL , bir fonksiyondan ayarlandığında merkeze doğru hareket eder, onu seçmeye değer ve sağ tarafa doğru hareket eder, kısmen grafik penceresinin sınırlarının ötesine geçer. Çapa sağ üst köşededir. İşlev:
Bu işlevi çağırmak:
554 ve daha eski yapı sürümlerinin önceki sürümlerinde, her şey olması gerektiği gibi çalıştı, merkeze çıkış yoktu ve ardından grafik penceresinin sınırlarının dışında sağa, her şey hemen belirtilen sınırlara bağlandı.
Bir alt penceredeki metin nesnelerinin hatalı davranışı yeniden oluşturuldu. Düzelteceğiz.
Lütfen bekle.
Ama şimdi fareyle üzerlerine tıklıyorum ve hepsi yerlerine yerleştirilecek:
Teşekkür ederim. çoğaltılmış ve düzeltilmiş
benzer bir işlev düğmeler için çalışır, ancak OBJ_LABEL için çalışmaz.
OBJ_LABEL için aynı işlevi kullanarak Barbarian ile aynı nesne sorunlarına sahibim. Dün sabah buraya yazdım. Görünen o ki, koordinatların orijini görünür grafiğin dışında, grafiğin kenarında değil, pencerenin kenarında. OBJ_LABEL'i sağ alt köşeden +1 koordinatlarıyla görüntülerseniz, her şey mükemmel bir şekilde görünür olacaktır. Grafiğin üst kenarındaki nesneler de kayboluyor, görünüşe göre yukarı çıkıyor. Grafik tam ekrana büyütüldüğünde, OBJ_LABEL kaymaz, ortada görünür. Barbar zaten anlatmıştı ama senin düzelttiğin ya da ne olduğu belli değil.
OBJ_LABEL için aynı işlevi kullanarak Barbar ile aynı nesne sorunlarına sahibim. Dün sabah buraya yazdım. Görünen o ki, koordinatların orijini görünür grafiğin dışında, grafiğin kenarında değil, pencerenin kenarında. OBJ_LABEL'i sağ alt köşeden +1 koordinatlarıyla görüntülerseniz, her şey mükemmel bir şekilde görünür olacaktır. Grafiğin üst kenarındaki nesneler de kayboluyor, görünüşe göre yukarı çıkıyor. Grafik tam ekrana büyütüldüğünde, OBJ_LABEL kaymaz, ortada görünür. Barbar zaten anlatmıştı ama senin düzelttiğin ya da ne olduğu belli değil.
Bende de aynısı var. 557 oluşturun, yeni güncellendi. Ekranda büyük miktarda bilgi görüntülenen bir danışmanım var, şimdi grafikte kaos basit.
Tüm metinlerin ( OBJ_LABEL ) kendine ait bir ömrü vardır. Üstelik koordinatların nasıl seçildiği belli değil, sanki rastgele bir his var.İlginç olan, seçildiğinde zıplıyorlar, ama tamamen yersiz.
555 derlemesinde her şey yolundaydı.
Eski dört tabanlı grafik nesne yönetimi ile birlikte beşli stilde nesne yönetimi yapıyoruz.
Ne yazık ki, hiçbir hata yoktu. Neyse ki, birçok hata zaten düzeltildi.
Eski dört tabanlı grafik nesne yönetimi ile birlikte beşli stilde nesne yönetimi yapıyoruz.
Ne yazık ki, hiçbir hata yoktu. Neyse ki, birçok hata zaten düzeltildi.
Bu çok açık. Bence hiç kimse her şeyin kesinlikle hatasız gitmesini beklemiyor. Sadece 555'te çalışan bir şey 556'da daha da kötüleştiğinde veya 557'de hiç çalışmadığında (benimki dahil) öfkeli sesler çıkıyor. Ve böylece her şey yolunda. Düğmeler çalışıyor, teşekkürler. Doğru, çizim nesneleri hala çağrı sırasına göre değil, ada göredir.
dün bir bmp resmi ile uğraşıyordum ve çizelgeye yükleyemedim ve bu anın işe yarayıp yaramadığını bilmiyorum ...