Рисование экранов и компонентов
Помимо определяемых пользователем кодов событий, вы также можете вызвать вызов процедур рисования, связанных с определенными экранами, которые являются неотъемлемыми компонентами Visual TFT.
Эти процедуры рисуют желаемый экран, определенный параметром.
Из-за различных подходов к рисованию между контроллером FT8xx и остальными поддерживаемыми контроллерами, процедуры рисования организованы следующим образом:
FT8xx рисующие процедуры
Динамические процедуры рисования экрана
Код mikroC
Прототип процедуры | Описание | Пример |
---|---|---|
void DrawScreen(TScreen *aScreen); | Рисует экран со всеми его компонентами следующим образом:
|
DrawScreen(&ScreenDemo); |
void DrawScreenO(TScreen *aScreen, char aOptions); | Рисует экран со всеми его компонентами со следующими параметрами, передаваемыми в качестве параметра
|
// Draw all components and refresh all GRAM resources used by the components on the screen
DrawScreenO(&ScreenDemo, LDR_ALL); // Draw all components and refresh only GRAM resources used by the components that reside in RAM DrawScreenO(&ScreenDemo, LDR_DYNAMIC); |
Код mikroPascal
Прототип процедуры | Описание | Пример |
---|---|---|
procedure DrawScreen(aScreen : ^TScreen) | Рисует экран со всеми его компонентами следующим образом:
| DrawScreen(@ScreenDemo); |
procedure DrawScreenO(aScreen : ^TScreen, aOptions : byte); | Рисует экран со всеми его компонентами со следующими параметрами, передаваемыми в качестве параметра
|
// Draw all components and refresh all GRAM resources used by the components on the screen
DrawScreenO(@ScreenDemo, LDR_ALL); // Draw all components and refresh only GRAM resources used by the components that reside in RAM DrawScreenO(@ScreenDemo, LDR_DYNAMIC); |
Код mikroBasic
Прототип процедуры | Описание | Пример |
---|---|---|
sub procedure DrawScreen(dim aScreen as ^TScreen) | Рисует экран со всеми его компонентами следующим образом:
| DrawScreen(@ScreenDemo) |
sub procedure DrawScreenO(dim aScreen as ^TScreen, dim aOptions as byte) | Рисует экран со всеми его компонентами со следующими параметрами, передаваемыми в качестве параметра
|
' Draw all components and refresh all GRAM resources used by the components on the screen
DrawScreenO(@ScreenDemo, LDR_ALL) ' Draw all components and refresh only GRAM resources used by the components that reside in RAM DrawScreenO(@ScreenDemo, LDR_DYNAMIC) |
Static Screen Drawing Routines
These routines are used if the static property of the screen has been set to true, i.e. the screen is placed in the FLASH memory :
mikroC Code
Прототип процедуры | Описание | Пример |
---|---|---|
void DrawScreen(unsigned int aScreenID); | Обратитесь к DrawScreen процедуре, описанной выше. | DrawScreen(CScreenDemoScreenID); |
void DrawScreenO(unsigned int aScreenID, char aOptions); | Обратитесь к DrawScreenO процедуре, описанной выше. |
// Draw all components and refresh all GRAM resources used by the components on the screen
DrawScreenO(CScreenDemoScreenID, LDR_ALL); // Draw all components and refresh only GRAM resources used by the components that reside in RAM DrawScreenO(CScreenDemoScreenID, LDR_DYNAMIC); |
mikroPascal Code
Прототип процедуры | Описание | Пример |
---|---|---|
procedure DrawScreen(aScreenID : word); | Обратитесь к DrawScreen процедуре, описанной выше. | DrawScreen(CScreenDemoScreenID); |
procedure DrawScreenO(aScreenID : word, aOptions : byte); | Обратитесь к DrawScreenO процедуре, описанной выше. |
// Draw all components and refresh all GRAM resources used by the components on the screen
DrawScreenO(CScreenDemoScreenID, LDR_ALL); // Draw all components and refresh only GRAM resources used by the components that reside in RAM DrawScreenO(CScreenDemoScreenID, LDR_DYNAMIC); |
mikroBasic Code
Прототип процедуры | Описание | Пример |
---|---|---|
sub procedure DrawScreen(dim aScreenID as word) | Обратитесь к DrawScreen процедуре, описанной выше. | DrawScreen(CScreenDemoScreenID) |
sub procedure DrawScreenO(dim aScreenID as word, dim aOptions as byte) | Обратитесь к DrawScreenO процедуре, описанной выше. |
' Draw all components and refresh all GRAM resources used by the components on the screen
DrawScreenO(CScreenDemoScreenID, LDR_ALL) ' Draw all components and refresh only GRAM resources used by the components that reside in RAM DrawScreenO(CScreenDemoScreenID, LDR_DYNAMIC) |
![]() |
---|
Если пользователь изменяет свойства динамического компоста (то есть компонента, находящегося в ОЗУ), который влияет на ресурс GRAM, то для перекрашивания экрана должна использоваться функция DrawScreenO (для параметра |
Другие рисующие процедуры контроллера
Процедуры рисования динамических объектов
Представленные здесь подпрограммы используются, если установлено свойство Dynamic:
Код mikroC
Прототип процедуры | Описание | Пример |
---|---|---|
void DrawScreen(TScreen *aScreen); | Рисует экран. Пожалуйста, см. это примечание также. | DrawScreen(&ScreenDemo); |
void DrawLabel(TLabel *ALabel); | Рисует метку. | DrawLabel(&LabelDemo); |
void DrawButton(TButton *AButton); | Рисует кнопку. | DrawButton(&ButtonDemo); |
void DrawRoundButton(TButton_Round *Around_button); | Рисует закругленную кнопку. | DrawRoundButton(&RoundButtonDemo); |
void DrawCircleButton(TCircleButton *ACircle_button); | Рисует круглую кнопку. | DrawCircleButton(&RoundCircleButtonDemo); |
void DrawImage(TImage *AImage); | Рисует изображение. | DrawImage(&ImageDemo); |
void DrawCheckBox(TCheckBox *ACheckBox); | Рисует Check Box. | DrawCheckBox(&CheckBoxDemo); |
void DrawRadioButton(TRadioButton *ARadioButton); | Рисует радио кнопку. | DrawRadioButton(&RadioButtonDemo); |
void DrawProgressBar(TProgressBar *AProgressBar); | Рисует индикатор выполнения. | DrawProgressBar(&ProgressBarDemo); |
void UpdatePBPosition(TProgressBar *AProgressBar); | Обновляет позицию индикатора выполнения. | UpdatePBPosition(&ProgressBarDemo); |
void DrawCircle(TCircle *ACircle); | Рисует окружность. | DrawCircle(&CircleDemo); |
void DrawBox(TBox *ABox); | Рисует прямоугольник. | DrawBox(&BoxDemo); |
void DrawRoundBox(TBox_Round *Around_box); | Рисует скругленный прямоугольник. | DrawRoundBox(&RoundBoxDemo); |
void DrawLine(TLine *Aline); | Рисует линию. | DrawLine(&LineDemo); |
Код mikroPascal
Прототип процедуры | Описание | Пример |
---|---|---|
procedure DrawScreen(aScreen : ^TScreen); | Рисует экран.Пожалуйста, см. это примечание также. | DrawScreen(@ScreenDemo); |
procedure DrawLabel(ALabel : ^TLabel); | Рисует метку. | DrawLabel(@LabelDemo); |
procedure DrawButton(Abutton : ^TButton); | Рисует кнопку. | DrawButton(@ButtonDemo); |
procedure DrawRoundButton(Around_button : ^TButton_Round); | Рисует закругленную кнопку. | DrawRoundButton(@RoundButtonDemo); |
procedure DrawCircleButton(ACircle_button : ^TCircleButton); | Рисует круглую кнопку. | DrawCircleButton(@RoundCircleButtonDemo); |
procedure DrawImage(AImage : ^TImage); | Рисует изображение. | DrawImage(@ImageDemo); |
procedure DrawCheckBox(ACheckBox : ^TCheckBox); | Рисует Check Box. | DrawCheckBox(@CheckBoxDemo); |
procedure DrawRadioButton(ARadioButton : ^TRadioButton); | Рисует радио кнопку. | DrawRadioButton(@RadioButtonDemo); |
procedure DrawProgressBar(AProgressBar : ^TProgressBar); | Рисует индикатор выполнения. | DrawProgressBar(@ProgressBarDemo); |
procedure UpdatePBPosition(AProgressBar : ^TProgressBar); | Обновляет позицию индикатора выполнения. | UpdatePBPosition(@ProgressBarDemo); |
procedure DrawCircle(ACircle : ^TCircle); | Рисует окружность. | DrawCircle(@CircleDemo); |
procedure DrawBox(ACircle : ^TCircle); | Рисует прямоугольник. | DrawBox(@BoxDemo); |
procedure DrawRoundBox(Around_box : ^TBox_Round); | Рисует скругленный прямоугольник. | DrawRoundBox(@RoundBoxDemo); |
procedure DrawLine(Aline : ^TLine); | Рисует линию. | DrawLine(@LineDemo); |
Код mikroBasic
Прототип процедуры | Описание | Пример |
---|---|---|
sub procedure DrawScreen(dim aScreen as ^TScreen) | Рисует экран.Пожалуйста, см. это примечание также. | DrawScreen(@ScreenDemo) |
sub procedure DrawLabel(dim ALabel as ^TLabel) | Рисует метку. | DrawLabel(@LabelDemo) |
sub procedure DrawButton(dim Abutton as ^TButton) | Рисует кнопку. | DrawButton(@ButtonDemo) |
sub procedure DrawRoundButton(dim Around_button as ^TButton_Round) | Рисует закругленную кнопку. | DrawRoundButton(@RoundButtonDemo) |
sub procedure DrawCircleButton(dim ACircle_button as ^TCircleButton ) | Рисует круглую кнопку. | DrawCircleButton(@RoundCircleButtonDemo) |
sub procedure DrawImage(dim AImage as ^TImage) | Рисует изображение. | DrawImage(@ImageDemo) |
sub procedure DrawCheckBox(dim ACheckBox as ^TCheckBox) | Рисует Check Box. | DrawCheckBox(@CheckBoxDemo) |
sub procedure DrawRadioButton(dim ARadioButton as ^TRadioButton) | Рисует радио кнопку. | DrawRadioButton(@RadioButtonDemo) |
sub procedure DrawProgressBar(dim AProgressBar as ^TProgressBar) | Рисует индикатор выполнения. | DrawProgressBar(@ProgressBarDemo) |
sub procedure UpdatePBPosition(dim TProgressBar as ^AProgressBar) | Обновляет позицию индикатора выполнения. | UpdatePBPosition(@ProgressBarDemo) |
sub procedure DrawCircle(dim ACircle as ^TCircle) | Рисует окружность. | DrawCircle(@CircleDemo) |
sub procedure DrawBox(dim ABox as ^TBox) | Рисует прямоугольник. | DrawBox(@BoxDemo) |
sub procedure DrawRoundBox(dim Around_box as ^TBox_Round) | Рисует скругленный прямоугольник. | DrawRoundBox(@RoundBoxDemo) |
sub procedure DrawLine(dim Aline as ^TLine) | Рисует линию. | DrawLine(@LineDemo) |
Процедуры рисования статических объектов
Представленные здесь подпрограммы используются, если установлено свойство Static:
Код mikroC
Прототип процедуры | Описание | Пример |
---|---|---|
void DrawScreen(unsigned int aScreenID); | Рисует экран. Пожалуйста, см. это примечание также. | DrawScreen(CScreenDemoScreenID); |
void DrawCLabel(TCLabel *AClabel); | Рисует метку. | DrawCLabel(&CLabelDemo); |
void DrawCButton(TCButton *ACButton); | Рисует кнопку. | DrawCButton(&CButtonDemo); |
void DrawCRoundButton(TCButton_Round *ACround_button); | Рисует закругленную кнопку. | DrawCRoundButton(&CRoundButtonDemo); |
void DrawCCircleButton(TCCircleButton *ACcircle_button); | Рисует круглую кнопку. | DrawCCircleButton(&CRoundCircleButtonDemo); |
void DrawCImage(TCImage *ACimage); | Рисует изображение. | DrawCImage(&CImageDemo); |
void DrawCCircle(CButton_Round *ACround_button); | Рисует окружность. | DrawCCircle(&CCircleDemo); |
void DrawCBox(TCBox *ACbox); | Рисует прямоугольник. | DrawCBox(&CBoxDemo); |
void DrawCRoundBox(TCBox_Round *ACround_box); | Рисует скругленный прямоугольник. | DrawCRoundBox(&CRoundBoxDemo); |
void DrawCLine(TCLine *ACLine); | Рисует линию. | DrawCLine(&CLineDemo); |
Код mikroPascal
Прототип процедуры | Описание | Пример |
---|---|---|
procedure DrawScreen(aScreenID : word); | Рисует экран. Пожалуйста, см. это примечание также. | DrawScreen(CScreenDemoScreenID); |
procedure DrawCLabel(ALabel : ^TCLabel); | Рисует метку. | DrawCLabel(@CLabelDemo); |
procedure DrawCButton(Abutton : ^TCButton); | Рисует кнопку. | DrawCButton(@CButtonDemo); |
procedure DrawCRoundButton(Around_button : ^TCButton_Round); | Рисует закругленную кнопку. | DrawCRoundButton(@CRoundButtonDemo); |
procedure DrawCCircleButton(ACircle_button : ^TCCircleButton); | Рисует круглую кнопку. | DrawCCircleButton(@CRoundCircleButtonDemo); |
procedure DrawCImage(AImage : ^TCImage); | Рисует изображение. | DrawCImage(@CImageDemo); |
procedure DrawCCircle(ACircle : ^TCCircle); | Рисует окружность. | DrawCCircle(@CCircleDemo); |
procedure DrawCBox(ABox : ^TCBox); | Рисует прямоугольник. | DrawCBox(@CBoxDemo); |
procedure DrawCRoundBox(Around_box : ^TCBox_Round); | Рисует скругленный прямоугольник. | DrawCRoundBox(@CRoundBoxDemo); |
procedure DrawCLine(Aline : ^TCLine); | Рисует линию. | DrawCLine(@CLineDemo); |
Код mikroBasic
Прототип процедуры | Описание | Пример |
---|---|---|
sub procedure DrawScreen(dim aScreenID as word) | Рисует экран. Пожалуйста, см. это примечание также. | DrawScreen(CScreenDemoScreenID) |
sub procedure DrawCLabel(dim ALabel as ^TCLabel) | Рисует метку. | DrawCLabel(@CLabelDemo) |
sub procedure DrawCButton(dim Abutton as ^TCButton) | Рисует кнопку. | DrawCButton(@CButtonDemo) |
sub procedure DrawCRoundButton(dim Around_button as ^TCButton_Round) | Рисует закругленную кнопку. | DrawCRoundButton(@CRoundButtonDemo) |
sub procedure DrawCCircleButton(dim ACircle_button as ^TCCircleButton) | Рисует круглую кнопку. | DrawCCircleButton(@CRoundCircleButtonDemo) |
sub procedure DrawCImage(dim AImage as ^TCImage) | Рисует изображение. | DrawCImage(@CImageDemo) |
sub procedure DrawCCircle(dim ACircle as ^TCCircle) | Рисует окружность. | DrawCCircle(@CCircleDemo) |
sub procedure DrawCBox(dim ABox as ^TCBox) | Рисует прямоугольник. | DrawCBox(@CBoxDemo) |
sub procedure DrawCRoundBox(dim Around_box as ^TCBox_Round) | Рисует скругленный прямоугольник. | DrawCRoundBox(@CRoundBoxDemo) |
sub procedure DrawCLine(dim Aline as ^TCLine) | Рисует линию. | DrawCLine(@CLineDemo) |
![]() |
---|
Если один из нескольких экранов в проекте объявлен как статический, все экраны должны быть нарисованы с использованием процедуры DrawScreen для статического свойства. |