私のアプローチコアはエンジンです。 - ページ 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:

あなたがループに入ってないだけです :(

とてもシンプルでスピーディです。すべてのウィンドウは標準ライブラリで 実現できます。本当に、やりませんよ :)


あるボタンを押すと1組の制御要素が表示され、別のボタンを押すと別の制御要素が表示されるようにしてみてください。同時に、ウィンドウの最小化、最大化もできるようになります。また、多くのバリエーションがあり得ることも想定されています。

この問題をどう解決するのか、ピーターに聞いてみるのも面白いかもしれない。

 
Dmitry Fedoseev:

あるボタンをクリックすると1組のコントロールが表示され、別のボタンをクリックすると別のコントロールが表示されるようにしてみてください。同時に、ウィンドウの最小化、最大化も可能です。また、多くのバリエーションがあり得ることも想定されています。

この課題をどう解決するのか、ピーターに尋ねてみるのも面白いかもしれません。

そんな可能性もあるのです。ある元素が別の元素、あるいは元素群の現象を制御させることができるんだ。まあ、普通のタブももちろん使えるんですけどね。

今日、そんなエンジンを作ってお見せしますよ。

 
Dmitry Fedoseev:

あるボタンをクリックすると1組のコントロールが表示され、別のボタンをクリックすると別のコントロールが表示されるようにしてみてください。同時に、ウィンドウの最小化・最大化も可能です。

何か問題があるのでしょうか?標準ライブラリを 調べる時間がないのですが、hide/showで解決しない場合は、コンテナやクライアントエリア、ダイアログそのものを入れ替えればいいのではないでしょうか?

 
Yury Kulikov:

何か問題があるのでしょうか?標準ライブラリを 調べる時間がないのですが、hide/showで解決しない場合は、コンテナやクライアントエリア、ダイアログそのものを入れ替えればいいのではないでしょうか?

どうだろう、やってみたけどうまくいかなかった。