首页 > 学院 > 开发设计 > 正文

创建一个可调整大小和拖拽的Edit

2019-11-17 05:24:46
字体:
来源:转载
供稿:网友

  创建一个可调整大小和拖拽的Edit
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
    //修改此单字符串窗口组件性质,可自由缩放大小
    DWord dwStyle = ::GetWindowLong(Edit1->Handle, GWL_STYLE);
    ::SetWindowLong(Edit1->Handle, GWL_STYLE, dwStyle WS_SIZEBOX);
    //修正此单字符串窗口组件在Form1上的实际尺寸与范围
    //以便USER直接调整单字符串窗口组件边沿
    ::MoveWindow(Edit1->Handle, Edit1->Left, Edit1->Top,
             Edit1->Width, Edit1->Height + 1, true);
}
//---------------------------------------------------------------------------
//当鼠标保持箭头图标时,Edit1即可被拖曳
void __fastcall TForm1::Edit1MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
    if(Edit1->Cursor == crArrow )
    {
        //释放原有鼠标捕捉状态,
        //并同时送出鼠标单击位置等同于窗口标题栏可拖曳窗口的属性
        ::ReleaseCapture();
        SNDMSG(Edit1->Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0);
  }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit1MouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)
{
    //鼠标在Edit1上移动时,仍保持箭头图标
    Edit1->Cursor = crArrow;
}
//--------------------------------------------------------------------------- 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表