You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
If YOU really do not see the difference, you urgently need to throw away the old terminal. The old terminal affects you badly. Unfortunately, the old terminal taught you to write very dangerous code - you are used to writing code WITHOUT CHECKS to return errors.
It wasn't a dig at your post by any means, it was more of a question as to why this is done so I learn for it - my programming knowledge is very limited.
It wasn't a dig at your post by any means, it was more of a question as to why this is done so I learn for it - my programming knowledge is very limited.
I have already explained: you cannot write code that does not check for error returns.
I have already explained: you cannot write code that does not check for error returns.
Hi Vladimir
this is a well written piece, good job
regards Paul
Hi Vladimir
this is a well written piece, good job
regards Paul
Thanks
Hi, is it possible to create 2 or more CAppDialogs, and have its own event handling. E.g create a CAppDialog(Main Window) that opens other CAppDialogs(Sub Windows), would you be able to give us an example of that
I've never done this - I never needed to have more than one panel on a chart.
I've never done this - I never needed to have more than one panel on a chart.
Thanks Vladimir. I will try and create one using your guidelines and see how it behaves
Did anybody try to create a panel in a subwindow?
I did try but the panel was always created in the main chart?
Hi Vladimir,
Thank you so much for the article, its very helpful. I was just wondering about some parts on changing the color of the m_client_area and m_background objects:
int total=AppWindow.ControlsTotal(); CWndClient*myclient; for(int i=0;i<total;i++) { CWnd*obj=AppWindow.Control(i); string name=obj.Name(); PrintFormat("%d is %s",i,name); //--- color if(StringFind(name,"Client")>0) { CWndClient *client=(CWndClient*)obj; client.ColorBackground(clrRed); myclient=client; Print("client.ColorBackground(clrRed);"); ChartRedraw(); } //--- if(StringFind(name,"Back")>0) { CPanel *panel=(CPanel*) obj; panel.ColorBackground(clrGreen); Print("panel.ColorBackground(clrGreen);"); ChartRedraw(); } }
The highlighted parts are the items I wasn't sure about. To break it down, I understand what all of the code does, just not sure how it does it. I wasn't about the two codes below:
1.Is it accessing a Control file like WndClient.mqh and what is the * for.
CWndClient *client=(CWndClient*)obj;
2. My other question was what are obj and Name(); as shown below. I get obj is probably an object and the name part is for the name of the object. However if I put obj.Name(); into any other code it doesn't understand it, so I know its unique to something from above. I just wasn't sure how it fits in.
obj.Name();
I appreciate if you have the time to answer, and thank you in advance.