📄 screenthread.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "screenthread.h"
#include "display.h"
#pragma package(smart_init)
//---------------------------------------------------------------------------
// Important: Methods and properties of objects in VCL can only be
// used in a method called using Synchronize, for example:
//
// Synchronize(UpdateCaption);
//
// where UpdateCaption could look like:
//
// void __fastcall Unit1::UpdateCaption()
// {
// Form1->Caption = "Updated in a thread";
// }
//---------------------------------------------------------------------------
__fastcall ScreenThread::ScreenThread(bool CreateSuspended, void* p)
: TThread(CreateSuspended)
{
p_form = reinterpret_cast<TForm1*> (p);
p_gpsnav = p_form->get_gpsnav_pt();
p_gpsfunc = p_form->get_gpsfunc_pt();
FreeOnTerminate = false;
count = 0;
}
//---------------------------------------------------------------------------
void __fastcall ScreenThread::Execute()
{
//---- Place thread code here ----
while(!Terminated)
{
WaitForSingleObject( dispEvent, INFINITE );
p_gpsnav->get_rawdata( &DispRawdata );
p_gpsnav->get_trkloop( result_pt );
p_gpsfunc->get_navinfo(&DispNavInfo);
count ++;
Synchronize(update_disp);
}
}
void __fastcall ScreenThread::update_disp()
{
p_form->update_allchannel(&DispRawdata);
p_form->update_trkloop(result_pt);
p_form->update_navresult(&DispNavInfo);
p_form->update_disp();
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -