我的方法。核心是引擎。 - 页 35

 
Dmitry Fedoseev:

你怎么看?有什么是标准库 不能处理的?

好的,迪米特里。这里的公众并不想放弃。我可能不是什么艺术家。但我是想展示设计师的可能性。它们是相当宽的。你不仅可以快速创作,而且还可以创造出精美的作品(好吧,那是对于那些比我更有绘画天赋的人来说)。

我将演示时钟窗口的代码。

//----------------------------------------------------------------------------------
NEW_WINDOW,  W_NAME, "Time limits",  W_ICON, "Schedule (16x16)",  W_TYPE, SETTINGS, ALWAYS_ON_TOP,   
MARGINS,-9,-7,
//----------------------------------------------------------------------------------
"MF",N_COLOR,(int)C'200,169,149', 
"MF",NG_LINES,56, 
"MF",NG_STEP,-1,
//----------------------------------------------------------------------------------
 GROUP, A,
//---------------------------------------
__,BOARD,"Time limits for initial trades:", W,280,_,H,30,_,FONT_SIZE,13, _,TEXT_FONT,"Arial Black",_,ADAPT_2_GRADIENT,"MF",_,text, N_COLOR,(int)C'255,255,255',
//--------------------------------------- 
 END_GROUP,
//--------------------------
 i, AT, _X2X, "MF", 33, _Y2Y, "MF", 5,
//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
 GROUP, A,
//---------------------------------------
 __,REC,"R1", W,190,_,H,63,
//--------------------------------------- 
 END_GROUP,
//--------------------------
 i, AT, _X2W, "OFF", 10, _Y2H, "Time limits for initial trades:", 10,
 i,RECS, 
        N_FRAME,1,
        N_FRAME_COLOR,(int)C'209,173,149', 
       // FRAME_TYPE,_abc,  
        N_COLOR,(int)C'240,209,189',
       // NG_LINES,15,NG_STEP,1,
        NG_LINES,36, 
        NG_STEP,1,
        END,
//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
 GROUP, A,
    
__, BUTTON,"OFF", W,100,_,H,65, _,P_COLOR,(int)C'250,189,179',  _,A_COLOR,(int)C'255,20,17', _,AP_COLOR,(int)C'255,60,17', _,PARAM_TYPE,_BOOL, _,N_COLOR,(int)C'240,219,189', _,FIC,
         
 END_GROUP,
//--------------------------
 i, AT, _X2X, "MF", 5, _Y2H, "Time limits for initial trades:", 10,
//--------------------------  
i,BUTTONS,  PARAM_TYPE,_BOOL,   text,_A1_,_C2C,       text,_A2_,_C2C,     FONT_SIZE,12,   N_FRAME,1,   A_FRAME,1,   NP_FRAME,1,    END,
"OFF",A_TEXT,"ON",
//-------------------------- 
"OFF",NG_LINES,65, 
"OFF",NG_STEP,-1,
"OFF",AG_LINES,65, 
"OFF",AG_STEP,-1,
"OFF",NPG_LINES,65, 
"OFF",NPG_STEP,-1,
//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
 GROUP, A,
    
__, EDIT,"Hour to start", _,EDIT_ALIGN_CENTER, _,V_CURRENT,"1",  //_,READ_ONLY, 
    
    EDIT,"End hour",      _,EDIT_ALIGN_CENTER,_,V_CURRENT,"0",  //_,READ_ONLY, 
    
 END_GROUP,
//--------------------------
 i, AT, _X2W, "OFF", 17, _Y2H, "Time limits for initial trades:", 30,
 
 i,X_GAP,3,

 i,EDITS,  
 FRAME_TYPE,_b,
 POINTED,0,
 H,39,
 W,90,
 FONT_SIZE,20,
 N_COLOR,(int)C'240,209,189',
 NH_COLOR,(int)C'240,209,189',
 A_COLOR,(int)C'240,209,189',
 AH_COLOR,(int)C'240,209,189',
 N_FRAME_COLOR,(int)C'200,169,149',
 
 TEXT_FONT,"Arial Black",
 bar,N_FRAME,1,
 bar,A_FRAME,1,
 bar,FRAME_TYPE,_bc,
 
 bar,N_FRAME_COLOR,(int)C'200,169,149',
 bar,NH_FRAME_COLOR,(int)C'200,169,149',
 bar,A_FRAME_COLOR,(int)C'200,169,149',
 bar,AH_FRAME_COLOR,(int)C'200,169,149',
 
 bar,N_COLOR,(int)C'255,229,219',
 bar,NH_COLOR,(int)C'255,229,219',
 bar,A_COLOR,(int)C'255,229,219',
 bar,AH_COLOR,(int)C'255,229,219',
 
 bar,NG_LINES,36, 
 bar,NG_STEP,  1,
 bar,AG_LINES,36, 
 bar,AG_STEP,  1,
 
 text,N_COLOR,  (int)C'200,139,129',
 text,NH_COLOR, (int)C'200,139,129',
 text,A_COLOR,  (int)C'200,139,129',
 text,AH_COLOR, (int)C'200,139,129',
 
END,

//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
 GROUP, A,

__, BOARD,"Hour to start:", W_C2C,"Hour to start",0, _,ON_TOP,"Hour to start",0,  

__, BOARD,"End hour:",      W_C2C,"End hour",     0, _,ON_TOP,"End hour",     0,   

 END_GROUP,
//--------------------------
i,BOARDS, FONT_SIZE,11,ADAPT_2_GRADIENT,"MF", text,N_COLOR,(int)C'180,149,129',   END,
//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
GROUP, A,

__, H_LINE,"HL3",W,188,_,N_COLOR,(int)C'255,223,199',

END_GROUP,
//----------------------
 i, AT, _X2X, "R1", 1, _Y2Y, "R1", 1,

//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
GROUP, A,

__, V_LINE,"vL",H,61,_,N_COLOR,(int)C'255,223,199',

END_GROUP,
//------------------------------------
 i, AT, _X2X, "R1", 1, _Y2Y, "R1", 1,

//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
GROUP, A,

__, H_LINE,"HL5",W,190,_,N_COLOR,(int)C'199,163,139',

END_GROUP,
//----------------------
 i, AT, _X2X, "R1", 1, _Y2H, "R1", 0,

//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
GROUP, A,

__, V_LINE,"vL2",H,63,_,N_COLOR,(int)C'199,163,139',

END_GROUP,
//----------------------
 i, AT, _X2W, "R1", 0, _Y2Y, "R1", 1,

//----------------------------------------------------------------------------------------------------
GROUP, A,

__, LABEL,A, N_LABEL,"Time (32x32)",

END_GROUP,
//--------------------------
i, AT, _X2X, "MF", 3, _Y2Y, "MF", 5,
//----------------------------------------------------------------------------------
END_WINDOW,
//***************************************************************************************************************************************** *
 

当然,代码是很大的。但这是非常简单的。

最主要的是,已经设置了属性(大小、颜色、渐变)的元素可以简单地从代码中取出,并复制到其他窗口。

没有语法,没有课程,等等...。他们只是把一个项目,或一组项目,或整个窗口,粘贴到任何地方。一气呵成。

然后,改变一些东西,你会得到一个新的元素、元素组或窗口。

 
Реter Konow:

...但我试图展示构造器的可能性...

这里:NEW_WINDOW,W_NAME, "时间限制",W_ICON, "时间表(16x16)",W_TYPE,SETTINGS,ALWAYS_ON_TOP

这就是你试图描绘的OOP,只是在你...以你自己的方式。这本质上是一个构造函数调用:new Qwerty(z,x,c)。

 
Dmitry Fedoseev:

这里:NEW_WINDOW,W_NAME, "时间限制",W_ICON, "时间表(16x16)",W_TYPE,SETTINGS,ALWAYS_ON_TOP

这就是你试图描绘的OOP,只是在你...以你自己的方式。它本质上是一个构造函数调用:new Qwerty(z,x,c)。

也许。但这里的顺序并不重要。

比如说。

NEW_WINDOW,  W_NAME, "Time limits",  W_ICON, "Schedule (16x16)",  W_TYPE, SETTINGS, ALWAYS_ON_TOP,

或 。

NEW_WINDOW, W_ICON, "Schedule (16x16)", W_NAME, "Time limits",     ALWAYS_ON_TOP, W_TYPE, SETTINGS,


这没有什么区别。

请注意,可以同时为同一类型的整个组设置属性。

i,BOARDS, FONT_SIZE,11,ADAPT_2_GRADIENT,"MF", text,N_COLOR,(int)C'180,149,129',   END,
 
Реter Konow:

也许。但顺序在这里并不重要。

比如说。


这没有什么区别。

请注意,可以同时为一整组类似的元素设置属性。

如果顺序并不重要,那么就没有工具提示。而当你调用一个带参数的函数或类的构造函数 时,编译器会按参数进行提示。而且你知道,这是一个非常重要的帮助。因此,标准方法是一个绝对的脂肪加成。

 
Реter Konow:

至少可以说,标准库中的图形水平并不理想。例如,创建这些窗口所涉及的劳动。

巨大的。这就是为什么没有什么严肃的东西被创造出来。

我怀疑在标准库中,你原则上可以创建这样的图形。

你只是超出了你的深度 :(

它非常简单和快速。你所有的窗口都可以用标准库 制作。真的,我不会这样做 :)


附加的文件:
HelloWorld1.ex5  250 kb
 
Yury Kulikov:

你只是不在这个圈子里 :(

它非常简单和快速。你所有的窗口都可以用一个标准库来 完成。真的,我不会这样做 :)


尽量做到,按一个按钮时显示一组控制元素,按另一个按钮时显示另一个控制元素。同时,你将能够最小化和最大化窗口。还假设可能有很多变种。

问一下彼得如何解决这个问题会很有趣。

 
Dmitry Fedoseev:

试着使一组控制在你点击一个按钮时出现,而另一组控制在你点击另一个按钮时出现。同时,该窗口可以被最小化和最大化。还假设可能有很多变种。

问一下彼得,他如何能够解决这项任务,会很有趣。

有这样一种可能性。我可以让一个元素控制另一个元素,或一组元素的现象。嗯,当然,普通的标签也可以。

我今天会做这样一个引擎,并向你展示它。

 
Dmitry Fedoseev:

试着使一组控制在你点击一个按钮时出现,而另一组控制在你点击另一个按钮时出现。同时,该窗口可以被最小化和最大化。

有问题吗?我没有时间去研究标准库,但我想如果hide/show不能解决问题,你可能可以交换容器、客户区或对话框本身。

 
Yury Kulikov:

有问题吗?我没有时间去研究标准库,但我想如果hide/show不能解决问题,你可能可以交换容器、客户区或对话框本身。

我不知道,我试过了,没有用。

原因: