📄 backwindow.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "backwindow.h"
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
extern TPoint pProcessBegin,pProcessEnd; //处理图像的开始点和终止点的坐标
TForm17 *Form17;
int iBackwindowTemp;
//---------------------------------------------------------------------------
__fastcall TForm17::TForm17(TComponent* Owner)
: TForm(Owner)
{
this->BorderStyle = bsNone;
this->Brush->Style = bsClear;
this->SetBounds(0, 0, Screen->Width, Screen->Height);
}
//---------------------------------------------------------------------------
void __fastcall TForm17::WndProc(TMessage &Msg)
{
static bool Drawing = false;
static bool FirstRect = false;
switch(Msg.Msg)
{
case WM_LBUTTONDOWN:
::SetCapture(Handle);
pProcessBegin.x = pProcessEnd.x = LOWORD(Msg.LParam);
pProcessBegin.y = pProcessEnd.y = HIWORD(Msg.LParam);
FirstRect = true;
Drawing = true;
Msg.Result = 0;
return;
case WM_MOUSEMOVE:
if (Drawing)
{
HDC Hdc = ::GetDC(Handle);
int OldR2Mode = ::SetROP2(Hdc, R2_NOT);
HBRUSH HOldBrush =::SelectObject(Hdc, ::GetStockObject(NULL_BRUSH));
if (!FirstRect)
::Rectangle(Hdc,pProcessBegin.x,pProcessBegin.y,pProcessEnd.x,pProcessEnd.y);
pProcessEnd.x = LOWORD(Msg.LParam);
pProcessEnd.y = HIWORD(Msg.LParam);
::Rectangle(Hdc, pProcessBegin.x,pProcessBegin.y,pProcessEnd.x,pProcessEnd.y);
FirstRect = false;
::SelectObject(Hdc, HOldBrush);
::SetROP2(Hdc, OldR2Mode);
::ReleaseDC(Handle, Hdc);
}
Msg.Result = 0;
return;
case WM_LBUTTONUP:
::ReleaseCapture();
FirstRect = false;
Drawing = false;
if(pProcessBegin.x>pProcessEnd.x)
{
iBackwindowTemp=pProcessEnd.x;
pProcessEnd.x=pProcessBegin.x;
pProcessBegin.x=iBackwindowTemp;
}
if(pProcessBegin.y>pProcessEnd.y)
{
iBackwindowTemp=pProcessEnd.y;
pProcessEnd.y=pProcessBegin.y;
pProcessBegin.y=iBackwindowTemp;
}
Close();
Msg.Result = 0;
return;
}
TForm::WndProc(Msg);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -