記事"グラフィカルインタフェースXI:標準グラフィックライブラリの統合(ビルド16)"についてのディスカッション - ページ 4

 

ライブラリに1行追加したらうまくいった!やったね、メイト!

私が追加した箇所は黄色でハイライトされています。追加した場所

void CTable::DrawImage(const int column_index,const int row_index)

  {

//--- Расчёт координат

   int x =m_columns[column_index].m_x+m_columns[column_index].m_image_x_offset;

   int y =m_rows[row_index].m_y+m_columns[column_index].m_image_y_offset;

//--- Выбранная картинка в ячейке и её размеры

   int  selected_image =m_columns[column_index].m_rows[row_index].m_selected_image;

   uint image_height   =m_columns[column_index].m_rows[row_index].m_images[selected_image].Height();

   uint image_width    =m_columns[column_index].m_rows[row_index].m_images[selected_image].Width();

//--- Рисуем

   for(uint ly=0,i=0; ly<image_height; ly++)

     {

      for(uint lx=0; lx<image_width; lx++,i++)

        {

         //--- Если нет цвета, перейти к следующему пикселю

         if(m_columns[column_index].m_rows[row_index].m_images[selected_image].Data(i)<1)

            continue;

         //--- Получаем цвет нижнего слоя (фона ячейки) и цвет указанного пикселя картинки

         uint background  =(row_index==m_selected_item)? m_selected_row_color : m_canvas.PixelGet(x+lx,y+ly);

         uint pixel_color =m_columns[column_index].m_rows[row_index].m_images[selected_image].Data(i);

         //--- Смешиваем цвета

         uint foreground=::ColorToARGB(m_clr.BlendColors(background,pixel_color));

         //--- Рисуем пиксель наслаиваемого изображения

         m_table.PixelSet(x+lx,y+ly,foreground);

        }

     }

   m_table.Update(true);

  }


 
Oleksii Chepurnyi:

セル・ボタンはやったけど、絵を変えるタスクがない......。

Update()メソッドはデフォルトでredrawがfalseに設定されている。再描画の場合はUpdate(true)を使う必要がある。


これではっきりした!

私はいつも真実を支持する。)

 

コンボボックスの作成後に項目を変更するには?

 

コンボボックスの項目を選択しても、チェックボックスリストの項目がクリックされないという問題があります。

 
CE 2 10:53:44.305 BreakEvenPending (CADJPY,M15) 'Curve.mqh'でゼロ除算 (693,9)
 
助けが必要な場合は、問題を再現するための簡単な例を示してください。
 

こんにちは、オットー、

プログラマーはその間にこの件についてコメントしたり、エラーを修正したりしたのでしょうか?

ジレンマは『グラフィカル・インターフェースI』の第1章から始まっています。

プログラマーはここの多くの記事で多くの仕事をしてきたのですから、これはとても残念なことです。

しかし、コンパイラが常にエラーメッセージを 出し続けていると、すぐに再挑戦する意欲を失ってしまう。

学習効果はもちろん得られない。


VG


シュテフェン

 

私は最新版しか使わない。

概要はこちら:https://www.mql5.com/en/code/19703

EasyAndFastGUI library for creating graphical interfaces
EasyAndFastGUI library for creating graphical interfaces
  • 投票: 22
  • 2018.03.01
  • Anatoli Kazharski
  • www.mql5.com
The EasyAndFastGUI library allows creating graphical interfaces for custom MQL programs.
 

私もこの話題はあきらめた。

オットーが何を不満に思っているかは分かっている。

しかし、私はほとんどいつも、再び機能させることができた。多くの再プログラミングが必要だったが、その後はいつも機能した。失ったのは時間だけだ。


制作者は大きな文字でBETAと書くべきだ。


それがすべてなのだから。

 

碑文とアイコンを一緒に右に移動する方法:

IconXGap(...)メソッドはアイコンを個別に移動させるが、碑文は移動させない。