帆布很酷! - 页 62

 
Nikolai Semko:

像这样的事?



尼古拉,能否提供示例代码?:)

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

尼古拉,能否提供示例代码?:)

代码仍然是原始的。我在一年半前做了这个实验,它可以是什么样子的。
等我把它实现好了,再把这个功能加到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漏洞做好准备的人在哪里呢...?

尼古拉是好样的!他很好地展示了mql的能力。我会加入一个分支标题 - 帆布很容易!

事实上:)Nikolay,你有没有试着用嵌入式的StringFormat("%.2X",R)函数 来代替ByteToHex()?


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,你是否尝试过用内置的StringFormat("%.2X",R)函数 来代替ByteToHex()?


哦,谢谢你,尤里。我不知道这一点。像往常一样发明了一辆自行车))。

 
Nikolai Semko:

代码仍然是原始的。我在一年半前做了这个实验,它可以是什么样子的。
当它被正确实施时,我将把这个功能添加到iCanvas中,如果到那时我还在论坛上的话。我现在没有时间去做。

你可以尝试自己实现它。
为了提供帮助,下面是我实现的几个函数,它们负责绘制颜色选择窗口。

谢谢你!我现在正试图实施它。

 
TheXpert:
告诉我,一个以编程语言命名的资源的版主中怎么会没有专业的程序员呢?

咦?

我已经用C++编程25年了,没有休息过。

MQL II - 从开始到结束

MQL4--最多可建立600个--从开始到结束

MQL5 - 从头开始

我用C++编程可以得到钱,所以我可以说是一个专业的程序员。

 
Slava:
你是metaquotes的工作人员,很少或没有参与论坛的管理。说实话,我以为你有一个管理员的铭牌。
 
TheXpert:
你是metaquotes的全职员工,你实际上并没有主持论坛的工作。说实话,我以为你有一个管理员的铭牌。

想象一下,你写了一个程序

谁比你更适合回答问题

 

三维移动平均数
我明天把代码扔进QB


 
Nikolai Semko:

3D移动平均数
我明天把代码扔到QB里去

真漂亮!!!"。

尼古拉,请把彩虹调色板 形成的代码列表扔在这里

如果它是以函数的形式出现的,它将更加实用