⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 backwindow.~cpp

📁 毕业设计图像处理软件及源代码对毕业生会有所帮助
💻 ~CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "backwindow.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 + -