キャンバスがカッコいい! - ページ 62

 
Nikolai Semko:

こんな感じ?



ニコライさん、サンプルコードは公開されるのですか?:)

 
Алексей Барбашин:

ニコライさん、サンプルコードは公開されるのですか?:)

コードはまだ生ものです。1年半前に、どんな風に見えるか実験的に作ってみたんです。
きちんと実装したら、iCanvas にこの機能を追加するつもりです。そのときまで私がまだフォーラムにいればですが。今は時間がないんです。

自分で実装してみてはいかがでしょうか。
参考までに、私の実装で色選択ウィンドウの描画を担当する関数をいくつか挙げておきます。

void    iCanvas::DrawSetColor(int X,int Y,uint curColor=0xFFFFFFFF)
  {
   if(!SetClr) return;
   uchar R=GETRGBR(curColor);
   uchar G=GETRGBG(curColor);
   uchar B=GETRGBB(curColor);
   FillRectangle(X-3,Y-3,X+330,Y+273,ColorToARGB(0xFFC0C0C0));
   FontSet("Century Gothic",20);
   TextOut(X+23,Y-4,"R "+string(R)+"(#"+ByteToHex(R)+")",0xFF000000);
   TextOut(X+135,Y-4,"G "+string(G)+"(#"+ByteToHex(G)+")",0xFF000000);
   TextOut(X+251,Y-4,"B "+string(B)+"(#"+ByteToHex(B)+")",0xFF000000);
   FillCircle(X+10,Y+6,6,ARGB(255,255,255-R,255-R));
   FillCircle(X+122,Y+6,6,ARGB(255,255-G,255,255-G));
   FillCircle(X+238,Y+6,6,ARGB(255,255-B,255-B,255));
   for(int x=0; x<256; x++)
      for(int y=0; y<256; y++)
        {
         PixelSet(x+X,y+Y+15,ARGB(255,R,x,y));
        }
   uchar rq=(R>127)?0:255;
   Rectangle(G+X-4,B+Y+11,G+X+4,B+Y+19,ARGB(255,0,0,0));
   Rectangle(G+X-3,B+Y+12,G+X+3,B+Y+18,ARGB(255,255,255,255));
   Rectangle(G+X-5,B+Y+10,G+X+5,B+Y+20,ARGB(255,255,255,255));
   for(int y=0; y<256; y++)
     {
      for(int x=0; x<16; x++)
        {
         PixelSet(x+X+263,y+Y+15,ARGB(255,y,x*16,0));
         PixelSet(x+X+263+16,y+Y+15,ARGB(255,y,255,x*16));
         PixelSet(x+X+263+32,y+Y+15,ARGB(255,y,255-x*16,255));
         PixelSet(x+X+263+48,y+Y+15,ARGB(255,y,0,255-x*16));
        }
     }
   Rectangle(X+260,Y+R+12,X+263+67,Y+R+18,0xFFFFFFFF);
   Rectangle(X+261,Y+R+13,X+263+66,Y+R+17,0xFFFFFFFF);
   Update();
  }
string ByteToHex(int n)
  {
   string s="",c;
   if(n==0) return "00";
   int N=n;
   while(n!=0)
     {
      if(n%16<10)
         c=CharToString(uchar(n%16+48));
      else
         c=CharToString(uchar(n%16+55));
      s = c + s;
      n = n / 16;
     }
   if(N<16) s="0"+s;
   return(s);
  }
 

掲示板には愚痴を言う人とオタクしか残っていない感じです。そして、mql exploitを覚悟していた人たちはどこへ......?

ニコライはいいぞ!mqlの能力をうまく発揮している。ブランチタイトルで追加する - Canvasは簡単!

そして、実は :) Nikolayさん、ByteToHex()を埋め込みStringFormat("%.2X",R)関数で 置き換えようとしたことはありませんか?


p.s. 言語も実行環境も完璧になったので、時々、「やめてくれ!」と言いたくなることがあります。:)

Документация по MQL5: Преобразование данных / StringFormat
Документация по MQL5: Преобразование данных / StringFormat
  • www.mql5.com
"SYMBOL_SWAP_MODE_INTEREST_CURRENT (в годовых процентах от цены инструмента на момент расчета свопа)" "SYMBOL_SWAP_MODE_REOPEN_CURRENT (переоткрытием позиции по цене закрытия +/- указанное количество пунктов)" "SYMBOL_SWAP_MODE_REOPEN_BID (переоткрытием позиции по текущей цене Bid +/- указанное количество пунктов)"
 
Yury Kulikov:

Nikolaiさん、ByteToHex()を内蔵のStringFormat("%.2X",R)関数で置き換えて みましたか?


あ、ありがとうございます、ユーリさん。それは知らなかった。相変わらずの自転車発明))。

 
Nikolai Semko:

コードはまだ生ものです。1年半前に、どんな風に見えるか実験的に作ってみたんです。
この機能がきちんと実装されたら、iCanvas にこの機能を追加するつもりです(そのときまで私がまだフォーラムにいればの話ですが)。今は時間がないんです。

自分で実装してみてはいかがでしょうか。
参考までに、私の実装で色選択ウィンドウの描画を担当する関数をいくつか挙げておきます。

ありがとうございました。今、それを実行しようとしているところです。

 
TheXpert:
プログラミング言語の名前を冠したリソースのモデレーターに、プロのプログラマーがいないのはどうしてですか?

おっと

私は25年間、休むことなくC++でプログラミングをしてきました。

MQL II - 始めから終わりまで

MQL4 - ビルド600まで - 始めから終わりまで

MQL5 - 始めから

C++でプログラミングをするとお金がもらえるので、プロのプログラマーといえるでしょう。

 
Slava:
は、metaquotesのスタッフでありながら、フォーラムのモデレーションにほとんど関与していません。正直、管理者名鑑があるのかと思ったし。
 
TheXpert:
はmetaquotesのスタッフなのに、実質的にフォーラムの司会はしていないんですね。正直、管理者名鑑があるのかと思ったし。

あなたがプログラムを 書いたとします。

質問に答えるのは、あなた以外にいない

 

3Dムービングアバレージ
明日、QBにコードを放り込みます


 
Nikolai Semko:

3D Moving Avarage
明日、QBにコードを放り込みます。

Beautiful !!!

ニコライさん、レインボーカラーパレット 形成のコードリストをここに投げてください。

関数の形であれば、さらに実用性が高まります
理由: