記事"グラフィカルインターフェイスXI:レンダリングされたコントロール(ビルド14.2)"についてのディスカッション - ページ 3 12345 新しいコメント Anatoli Kazharski 2017.07.18 12:16 #21 Artyom Trishkin:トール、この連載のどの記事でCKEYについて読むことができますか?...例:プログラムを開始し、Backspaceを押し始めると、Backspaceを押すたびにすべてのコントロールが削除されます。最終的には、すでに空のフォームウィンドウも削除される。...GUI X:複数行テキスト入力フィールド要素(ビルド8)Backspace キーを押すとGUI要素が削除される状況を再現できませんでした。 Anatoli Kazharski 2017.07.18 13:11 #22 Artyom Trishkin:TestLibrary14のProgram.mqhに、ウィンドウタイトルの色を変更する 行を1行書く:その後、ウィンドウを最小化すると、色がデフォルト値に戻ります。そして、ツールチップ、最小化/変更解除、閉じるボタンは、プログラムで設定されたウィンドウタイトルの色で再描画されます。そして、これらのボタンの色は、カーソルを合わせたときだけデフォルトの色に変わります。...マウスオーバー時にフォームタイトルの色を変更することを追加するのを忘れていました。次のアップデートで追加する予定です。今は両方の状態に対して色を設定する必要があります:... m_window.CaptionColor(clrDimGray); m_window.CaptionColorHover(clrDimGray); ...//---ボタンについては、ポインタとフォーム作成後に色を設定できます。... m_window.GetCollapseButtonPointer().BackColorHover(clrGray); m_window.GetTooltipButtonPointer().BackColorHover(clrGray); //--- m_window.GetCollapseButtonPointer().BackColorPressed(clrGray); m_window.GetTooltipButtonPointer().BackColorPressed(clrGray); ...//--- Реter Konow 2017.07.20 09:16 #23 私見だが、この記事で使われている「ライブラリー・コア」という用語は正しくない。先に「ライブラリ・エンジン」という用語が使われたが、これはどうもしっくりこない。コア」という言葉は、必要な情報をまとめた静的な 配列を指すべきであり、「エンジン」という言葉は、この情報を使って一連のタスクを実行するメカニズムを指すべきである。プログラミングにおける「ライブラリ」という用語は、一連のタスクを解決するためのツールキットとして機能する、多様で、ばらばらで、独立した機能を意味し、単一の中心を中心にまとまっているわけではない。このツールキットは「エンジン」でも「カーネル」でもなく、ユーザーメカニズムを構築するためのツール群に過ぎない。 もしライブラリがカーネルとエンジンを含むなら、それはもはやライブラリではなく、全体として動作するシステムである。グラフィカル・ライブラリが、GUIを作成するための不可欠なメカニズムへと変化するのは自然な発展段階であり、その後、そのようなライブラリはもはや存在しなくなる。つまり、バラバラの機能は必要なくなるのである。なぜなら、既製のメカニズムが一連のタスクをはるかに効率的に解決してくれるからである。おそらく今、ライブラリーはそのようなメカニズムに変わりつつあるのだろうが、現時点ではまだそうなっていない。従って、ライブラリーの「コア」や「エンジン」という言葉は、正確ではない。イミフである。 Artur Zas 2017.08.21 12:39 #24 こんにちは、コントロールの セットは本当に素晴らしく、役に立ちますが、より高いDPI設定をより良い方法で扱うことができれば、さらに良くなるでしょう。明らかに、ビットマップは正しく表示されますが、テキストは表示されません。下の画像のように、下にずれたり、切れたりしてしまいます:私は以下のディスプレイ設定を使用しています: Facundo Laje 2017.08.21 18:12 #25 Artur Zas:こんにちは、コントロールのセットは本当に素晴らしく、役に立ちますが、より高いDPI設定をより良い方法で扱うことができれば、さらに良くなるでしょう。明らかに、ビットマップは正しく表示されますが、テキストは表示されません。下の画像のように、下にずれたり、切れたりしてしまいます:私は以下のディスプレイ設定を使用しています: Facundo Laje 2017.08.21 18:12 #26 Facundo Laje: MT4で使用できますか? Artur Zas 2017.08.21 19:43 #27 Facundo Laje: MT4で使用できますか?技術的に言えば、OBJ-BITMAP_LABELはMQL4でも利用可能なので可能ですが、MQL4コンパイラではコンパイルできない箇所がいくつかあるので、ライブラリのコードを調整する必要があります。ライブラリーを弄ってみて、どうにかMQL4に移植できたらお知らせします。自分で試すこともできる。サンプルのEAの拡張子.mq5を.mq4にリネームして、コードをコンパイルしてみてください。 明らかにコンパイルエラーは出ますが、それがどこで何なのかをチェックする ことができます。 zlory73 2017.08.22 12:23 #28 こんにちは、この記事シリーズに従って、自分のコントロールパネルを開発しようとしています。マルチウィンドウモード部分(Article04)に興味がありますが、更新されたLibrary14(Article10)を使いました。今までのところ(添付の写真):window2とwindow3が動かない、閉じるボタンを押しても閉じない、colapseボタンを押しても見つからない。以下はウィンドウ2とウィンドウ3のコード部分である://-------- ウィンドウ2 #resource "\\Images\\EasyAndFastGUI\\Icons\\bmp16\\color_picker.bmp" bool CmyPanel_Test2::CreateWindow2(const string caption_text) { //--- ウィンドウ・ポインタを格納する CWndContainer::AddWindow(m_window2); m_window2.MainPointer(m_mb_contextmenu1); //--- 座標 int x =(m_window2.X()>0) ? m_window2.X() : 100; int y =(m_window2.Y()>0) ? m_window2.Y() : 100; //--- プロパティ m_window2.Movable(true); m_window2.Alpha(200); m_window2.XSize(300); m_window2.YSize(100); m_window2.IconXGap(3); m_window2.IconYGap(2); m_window2.WindowType(W_DIALOG); m_window2.CloseButtonIsUsed(true); m_window2.GetCloseButtonPointer().Tooltip("Close"); m_window2.GetCollapseButtonPointer().Tooltip("Collapse/Expand"); m_window2.IconFile("Images\\EasyAndFastGUI\\Icons\\bmp16\\color_picker.bmp"); //--- フォームの作成 if(!m_window2.CreateWindow(m_chart_id,m_subwin,caption_text,x,y)) return(false); //--- return(true); } //------------------Window3---------------- bool CmyPanel_Test2::CreateWindow3(const string caption_text) { //--- ウィンドウ・ポインタを格納する CWndContainer::AddWindow(m_window3); m_window2.MainPointer(m_menubar); //--- 座標 int x =(m_window2.X()>0) ? m_window2.X() : 100; int y =(m_window2.Y()>0) ? m_window2.Y() : 100; //--- プロパティ m_window3.Movable(true); m_window3.Alpha(200); m_window3.XSize(200); m_window3.YSize(200); m_window3.IconXGap(3); m_window3.IconYGap(2); m_window3.WindowType(W_DIALOG); m_window3.CloseButtonIsUsed(true); m_window3.GetCloseButtonPointer().Tooltip("Close"); m_window3.GetCollapseButtonPointer().Tooltip("Collapse/Expand"); m_window3.IconFile("Images\\EasyAndFastGUI\\Icons\\bmp16\\color_picker.bmp"); //--- フォームの作成 if(!m_window3.CreateWindow(m_chart_id,m_subwin,caption_text,x,y)) return(false); //--- return(true); }とOnEventの部分です:void CmyPanel_Test2::OnEvent(const int id,const long &lparam,const double &dparam,const string &sparam) { if(id==CHARTEVENT_CUSTOM+ON_CLICK_MENU_ITEM) { PRINT_EVENT(ON_CLICK_MENU_ITEM,id,lparam,dparam,sparam); return; } //--- if(id==CHARTEVENT_CUSTOM+ON_CLICK_BUTTON) { PRINT_EVENT(ON_CLICK_BUTTON,id,lparam,dparam,sparam); if(lparam==1 && dparam==1) { m_window3.Show(); return; } return; } //--- if(id==CHARTEVENT_CUSTOM+ON_CLICK_CONTEXTMENU_ITEM) { if (dparam==0) m_window2.Show(); PRINT_EVENT(ON_CLICK_CONTEXTMENU_ITEM,id,lparam,dparam,sparam); return; }ありがとうございました。 zlory73 2017.08.22 16:38 #29 zlory73:こんにちは、この記事シリーズに従って、自分のコントロールパネルを開発しようとしています。マルチウィンドウモード部分(Article04)に興味がありますが、更新されたLibrary14(Article10)を使いました。今までのところ(添付の写真):window2とwindow3が動かない、閉じるボタンを押しても閉じない、colapseボタンを押しても見つからない。以下はウィンドウ2とウィンドウ3のコード部分である:とOnEventの部分です:ありがとうございました。すみません、修正しました:bool CmyPanel_Test2::CreateWindow3(const string caption_text) { //--- ウィンドウ・ポインタを格納する CWndContainer::AddWindow(m_window3); m_window3.MainPointer(m_window);そしてbool CmyPanel_Test2::CreateWindow2(const string caption_text) { //--- ウィンドウ・ポインタを格納する CWndContainer::AddWindow(m_window2); m_window2.MainPointer(m_window);を修正しました。助けてください1 Facundo Laje 2017.08.23 12:47 #30 Artur Zas:技術的に言えば、OBJ-BITMAP_LABELはMQL4でも利用可能なので、そのはずなのですが、MQL4コンパイラではコンパイルできない箇所がいくつかあるので、ライブラリのコードを調整する必要があります。ライブラリーを弄ってみて、どうにかMQL4に移植できたらお知らせします。自分で試すこともできる。サンプルのEAの拡張子.mq5を.mq4にリネームして、コードをコンパイルしてみてください。 明らかにコンパイルエラーが出ますが、それがどこで、何なのかをチェックすることができます。 12345 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
トール、この連載のどの記事でCKEYについて読むことができますか?
...
例:プログラムを開始し、Backspaceを押し始めると、Backspaceを押すたびにすべてのコントロールが削除されます。最終的には、すでに空のフォームウィンドウも削除される。
...
GUI X:複数行テキスト入力フィールド要素(ビルド8)
Backspace キーを押すとGUI要素が削除される状況を再現できませんでした。
TestLibrary14のProgram.mqhに、ウィンドウタイトルの色を変更する 行を1行書く:
その後、ウィンドウを最小化すると、色がデフォルト値に戻ります。そして、ツールチップ、最小化/変更解除、閉じるボタンは、プログラムで設定されたウィンドウタイトルの色で再描画されます。そして、これらのボタンの色は、カーソルを合わせたときだけデフォルトの色に変わります。
...
マウスオーバー時にフォームタイトルの色を変更することを追加するのを忘れていました。次のアップデートで追加する予定です。
今は両方の状態に対して色を設定する必要があります:
//---
ボタンについては、ポインタとフォーム作成後に色を設定できます。
//---
私見だが、この記事で使われている「ライブラリー・コア」という用語は正しくない。先に「ライブラリ・エンジン」という用語が使われたが、これはどうもしっくりこない。
コア」という言葉は、必要な情報をまとめた静的な 配列を指すべきであり、「エンジン」という言葉は、この情報を使って一連のタスクを実行するメカニズムを指すべきである。
プログラミングにおける「ライブラリ」という用語は、一連のタスクを解決するためのツールキットとして機能する、多様で、ばらばらで、独立した機能を意味し、単一の中心を中心にまとまっているわけではない。このツールキットは「エンジン」でも「カーネル」でもなく、ユーザーメカニズムを構築するためのツール群に過ぎない。
もしライブラリがカーネルとエンジンを含むなら、それはもはやライブラリではなく、全体として動作するシステムである。
グラフィカル・ライブラリが、GUIを作成するための不可欠なメカニズムへと変化するのは自然な発展段階であり、その後、そのようなライブラリはもはや存在しなくなる。つまり、バラバラの機能は必要なくなるのである。なぜなら、既製のメカニズムが一連のタスクをはるかに効率的に解決してくれるからである。
おそらく今、ライブラリーはそのようなメカニズムに変わりつつあるのだろうが、現時点ではまだそうなっていない。従って、ライブラリーの「コア」や「エンジン」という言葉は、正確ではない。
イミフである。
こんにちは、コントロールの セットは本当に素晴らしく、役に立ちますが、より高いDPI設定をより良い方法で扱うことができれば、さらに良くなるでしょう。
明らかに、ビットマップは正しく表示されますが、テキストは表示されません。下の画像のように、下にずれたり、切れたりしてしまいます:
私は以下のディスプレイ設定を使用しています:
こんにちは、コントロールのセットは本当に素晴らしく、役に立ちますが、より高いDPI設定をより良い方法で扱うことができれば、さらに良くなるでしょう。
明らかに、ビットマップは正しく表示されますが、テキストは表示されません。下の画像のように、下にずれたり、切れたりしてしまいます:
私は以下のディスプレイ設定を使用しています:
MT4で使用できますか?
技術的に言えば、OBJ-BITMAP_LABELはMQL4でも利用可能なので可能ですが、MQL4コンパイラではコンパイルできない箇所がいくつかあるので、ライブラリのコードを調整する必要があります。
ライブラリーを弄ってみて、どうにかMQL4に移植できたらお知らせします。自分で試すこともできる。サンプルのEAの拡張子.mq5を.mq4にリネームして、コードをコンパイルしてみてください。
明らかにコンパイルエラーは出ますが、それがどこで何なのかをチェックする ことができます。
こんにちは、
この記事シリーズに従って、自分のコントロールパネルを開発しようとしています。マルチウィンドウモード部分(Article04)に興味がありますが、更新されたLibrary14(Article10)を使いました。
今までのところ(添付の写真):
window2とwindow3が動かない、閉じるボタンを押しても閉じない、colapseボタンを押しても見つからない。
以下はウィンドウ2とウィンドウ3のコード部分である:
とOnEventの部分です:
ありがとうございました。
こんにちは、
この記事シリーズに従って、自分のコントロールパネルを開発しようとしています。マルチウィンドウモード部分(Article04)に興味がありますが、更新されたLibrary14(Article10)を使いました。
今までのところ(添付の写真):
window2とwindow3が動かない、閉じるボタンを押しても閉じない、colapseボタンを押しても見つからない。
以下はウィンドウ2とウィンドウ3のコード部分である:
とOnEventの部分です:
ありがとうございました。
すみません、修正しました:
そして
を修正しました。
助けてください1
技術的に言えば、OBJ-BITMAP_LABELはMQL4でも利用可能なので、そのはずなのですが、MQL4コンパイラではコンパイルできない箇所がいくつかあるので、ライブラリのコードを調整する必要があります。
ライブラリーを弄ってみて、どうにかMQL4に移植できたらお知らせします。自分で試すこともできる。サンプルのEAの拡張子.mq5を.mq4にリネームして、コードをコンパイルしてみてください。
明らかにコンパイルエラーが出ますが、それがどこで、何なのかをチェックすることができます。