При открытии редакторе не понятно почему ты панель сразу не "растаскиваешь" по краям графика, почему они у тебя друг на друга накладываются? Это конечно мелочь в глобальном потоке, но это то что бросается в глаза.
Недоработка. Изначально, окно не подлежит редактированию. Когда на него переносится первый элемент, оно обретает возможность растягиватся. Включается вспомогательная разметка и значения свойств элемента пересылаются в окно свойств, где их можно редактировать.
Нужно, чтобы окно сразу было редактируемым. Сделаю.
Видео показало что у Петра ВСЕ построено через глобальные переменные.
функция обработки оповещений одна единственная на всю программу и в нее приходит только значение.
В этой единственной функции проверяется изменение всех имеющихся элементов управления, которые находятся в глобальном массиве. И портянка этой функции будет рости с ростом количества элементов на форме.
Петр заявил что копаться в его коде не придется: так вот именно в этой портянки и придется очень серьезно копаться. Этого можно было бы легко избежать если бы в этой функции Петр на каждом case генерировал метод стандартного события с передачей в него типа, имени и значения элемента управления. Тогда все это дело легко обрабатывалось бы в теле основного советника.
Ок. Но чтобы что-то переписать надо иметь четкое представления об организации.
Если есть мысли пишите. Думаю базовые классы это :
координаты
стили на все эвенты
ну и базовый класс самого обьекта.
Речь идет именно о базовых классах. Я честно в графике не очень силен... но запрограмировать что-то могу, правда из за того что с графикой особо не сталкивался со структурой (с организацией структуры) с первого раза могу сильно промахнуться.
Реter Konow: Недоработка. Изначально, окно не подлежит редактированию. Когда на него переносится первый элемент, оно обретает возможность растягиватся. Включается вспомогательная разметка и значения свойств элемента пересылаются в окно свойств, где их можно редактировать.
Нужно, чтобы окно сразу было редактируемым. Сделаю.
Перечитай мой пост, я не про редактируемое окно писал.
Реter Konow: Потому что при первом открытии все окна позиционируются по центру. Правило.
Мы говорим про окна "редактора"! О каком правиле ты говоришь? Открываем любой редактор и у него все окна прилеплены к сторонам редактора, даже в том же метаедиторе..
Мы говорим про окна "редактора"! О каком правиле ты говоришь? Открываем любой редактор и у него все окна прилеплены к сторонам редактора, даже в том же метаедиторе..
По поводу получения и установки значений элементов управления тебе необходимо добавить упрощенные функции, например такие: SetElementValue(имяЭлемента, значение) и GetElementValue(имяЭлемента).
Так же и для свойств: SetElementProperty(имяЭлемента, свойство, значение) и GetElementProperty(имяЭлемента, свойство)
Можно последние функции использовать универсально так как для получения или установки значения можно передавать свойство "VALUE".
По поводу получения и установки значений элементов управления тебе необходимо добавить упрощенные функции, например такие: SetElementValue(имяЭлемента, значение) и GetElementValue(имяЭлемента).
Так же и для свойств: SetElementProperty(имяЭлемента, свойство, значение) и GetElementProperty(имяЭлемента, свойство)
Можно последние функции использовать универсально так как для получения или установки значения можно передавать свойство "VALUE".
Там в файле подключения отсутсвует важный информационный блок.
Вот он:
//---------------------------------------------------------------------------------------------------------------------------+// PLEASE READ CAREFULLY |//---------------------------------------------------------------------------------------------------------------------------+//-------------------------------------TO GET OR SET VALUE FOR YOUR VARIABLE-------------------------------------------------+//---------------------------------------------------------------------------------------------------------------------------+//1. To initialize your variable with this value, type: variable = ( type of your variable )value; |//2. To initialize your variable with some element's value, type: variable = E_, then, choose element and add (); |//---------------------------------------------------------------------------------------------------------------------------+//---------------------------------------TO GET OR SET VALUE OF THE ELEMENT--------------------------------------------------+//---------------------------------------------------------------------------------------------------------------------------+//3. To use value of some element, type: E_, then, choose element and add (); |//4. To set new value to some element, type: E_, then, choose element and add ( type here new value ); |//---------------------------------------------------------------------------------------------------------------------------+//-------------------------------------------TO OPEN OR CLOSE A WINDOW-------------------------------------------------------+//---------------------------------------------------------------------------------------------------------------------------+//5. To open your window, type: W_, then, choose window and add (); |//6. To close your window, type: W_, then, choose window and add (close); |//---------------------------------------------------------------------------------------------------------------------------+//------------------------------------TO CHANGE A COLOR PROPERTY OF THE ELEMENT----------------------------------------------+//---------------------------------------------------------------------------------------------------------------------------+//7. To change main color of the element: Type E_,then, choose element and add (M_COLOR,your color);|//8. To change text color of the element: Type E_,then, choose element and add (T_COLOR,your color);|//9. To change frame color of the element: Type E_,then, choose element and add (F_COLOR,your color);|//---------------------------------------------------------------------------------------------------------------------------+//------------------------------------TO CHANGE READ ONLY PROPERTY OF THE TEXT BOX-------------------------------------------+//---------------------------------------------------------------------------------------------------------------------------+//10.To change READ ONLY property of the text box: Type E_,then, choose element and add (ONLY_READ,0 or 1); |//---------------------------------------------------------------------------------------------------------------------------+//------------------------------------TO CHANGE A STATE PROPERTY OF THE ELEMENT----------------------------------------------+//---------------------------------------------------------------------------------------------------------------------------+//11.You can set 6 possible states of the element: OFF, ON, LOCKED_OFF, LOCKED_ON, OFF_H, ON_H. |//To set a new state of the element: Type E_,then, choose element and add (STATE,one of the states above);|//---------------------------------------------------------------------------------------------------------------------------+//***************************************************************************************************************************+//NOTICE: THE COLOR WILL BE SET FOR THE CURRENT STATE OF THE ELEMENT. IF THE STATE CHANGES, THE COLOR WILL CHANGE. |// IN EACH STATE THE ELEMENT CAN HAVE DIFFERENT MAIN, TEXT AND FRAME COLOR. MAKE SURE TO CONSIDER THE STATE |// OF THE ELEMENT, WHEN YOU CHANGE IT'S MAIN, TEXT OR FRAME COLOR. | //---------------------------------------------------------------------------------------------------------------------------+
Здесь ответы на вопросы о получении значений элементов и других свойств.
1. По поводу получения и установки значений элементов управления тебе необходимо добавить упрощенные функции, например такие: SetElementValue(имяЭлемента, значение) и GetElementValue(имяЭлемента).
2. Так же и для свойств: SetElementProperty(имяЭлемента, свойство, значение) и GetElementProperty(имяЭлемента, свойство)
Можно последние функции использовать универсально так как для получения или установки значения можно передавать свойство "VALUE".
Частично реализовано. Можно расширить программное взаимодействие с элементами. Подумаю над этим.
При открытии редакторе не понятно почему ты панель сразу не "растаскиваешь" по краям графика, почему они у тебя друг на друга накладываются? Это конечно мелочь в глобальном потоке, но это то что бросается в глаза.
Видео показало что у Петра ВСЕ построено через глобальные переменные.
функция обработки оповещений одна единственная на всю программу и в нее приходит только значение.
В этой единственной функции проверяется изменение всех имеющихся элементов управления, которые находятся в глобальном массиве. И портянка этой функции будет рости с ростом количества элементов на форме.
Петр заявил что копаться в его коде не придется: так вот именно в этой портянки и придется очень серьезно копаться. Этого можно было бы легко избежать если бы в этой функции Петр на каждом case генерировал метод стандартного события с передачей в него типа, имени и значения элемента управления. Тогда все это дело легко обрабатывалось бы в теле основного советника.
Ок. Но чтобы что-то переписать надо иметь четкое представления об организации.
Если есть мысли пишите. Думаю базовые классы это :
координаты
стили на все эвенты
ну и базовый класс самого обьекта.
Речь идет именно о базовых классах. Я честно в графике не очень силен... но запрограмировать что-то могу, правда из за того что с графикой особо не сталкивался со структурой (с организацией структуры) с первого раза могу сильно промахнуться.
Недоработка. Изначально, окно не подлежит редактированию. Когда на него переносится первый элемент, оно обретает возможность растягиватся. Включается вспомогательная разметка и значения свойств элемента пересылаются в окно свойств, где их можно редактировать.
Перечитай мой пост, я не про редактируемое окно писал.
Перечитай мой пост, я не про редактируемое окно писал.
Потому что при первом открытии все окна позиционируются по центру. Правило.
Мы говорим про окна "редактора"! О каком правиле ты говоришь? Открываем любой редактор и у него все окна прилеплены к сторонам редактора, даже в том же метаедиторе..
Мы говорим про окна "редактора"! О каком правиле ты говоришь? Открываем любой редактор и у него все окна прилеплены к сторонам редактора, даже в том же метаедиторе..
А где опубликованный код?
По поводу получения и установки значений элементов управления тебе необходимо добавить упрощенные функции, например такие: SetElementValue(имяЭлемента, значение) и GetElementValue(имяЭлемента).
Так же и для свойств: SetElementProperty(имяЭлемента, свойство, значение) и GetElementProperty(имяЭлемента, свойство)
Можно последние функции использовать универсально так как для получения или установки значения можно передавать свойство "VALUE".
А где опубликованный код?
По поводу получения и установки значений элементов управления тебе необходимо добавить упрощенные функции, например такие: SetElementValue(имяЭлемента, значение) и GetElementValue(имяЭлемента).
Так же и для свойств: SetElementProperty(имяЭлемента, свойство, значение) и GetElementProperty(имяЭлемента, свойство)
Можно последние функции использовать универсально так как для получения или установки значения можно передавать свойство "VALUE".
Там в файле подключения отсутсвует важный информационный блок.
Вот он:
Здесь ответы на вопросы о получении значений элементов и других свойств.
Включу его в апи-файл. И примеры добавлю.
А где опубликованный код?
1. По поводу получения и установки значений элементов управления тебе необходимо добавить упрощенные функции, например такие: SetElementValue(имяЭлемента, значение) и GetElementValue(имяЭлемента).
2. Так же и для свойств: SetElementProperty(имяЭлемента, свойство, значение) и GetElementProperty(имяЭлемента, свойство)
Можно последние функции использовать универсально так как для получения или установки значения можно передавать свойство "VALUE".
Частично реализовано. Можно расширить программное взаимодействие с элементами. Подумаю над этим.
Частично реализовано. Можно расширить программное взаимодействие с элементами. Подумаю над этим.
Странно.. кодируешь на родном языке, а справку пишешь на английском, да еше делаешь выпады в адрес англоязычных умников.... Странно...