반응형
{$REGION ' 컨트롤 크기 변경 '}
procedure Tfrm_Main.MouseMoveEvent(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var
WinControl : TWinControl absolute Sender;
begin
if ((X < SC_DRAG_SIZE) AND (Y < SC_DRAG_SIZE))or ((X > WinControl.Width - SC_DRAG_SIZE) and (Y > WinControl.Height - SC_DRAG_SIZE)) then
WinControl.Cursor := crSizeNWSE
else if ((X < SC_DRAG_SIZE) and (Y > WinControl.Height-SC_DRAG_SIZE)) or ((X > WinControl.Width-SC_DRAG_SIZE) and (Y < SC_DRAG_SIZE))then
WinControl.Cursor := crSizeNESW
else if ((X < SC_DRAG_SIZE )or (X > WinControl.Width-SC_DRAG_SIZE))then
WinControl.Cursor := crSizeWE
else if ((Y < SC_DRAG_SIZE) or (Y > WinControl.Height-SC_DRAG_SIZE))then
WinControl.Cursor := crSizeNS
else
WinControl.Cursor := crDefault;
end;
procedure Tfrm_Main.MouseDownEvent(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
WinControl: TWinControl;
SysCommWparam: integer;
begin
WinControl := TWinControl(Sender);
if (X < SC_DRAG_SIZE )and ( Y < SC_DRAG_SIZE) then
SysCommWparam := SC_DRAG_RESIZEUL
else if(X > WinControl.Width-SC_DRAG_SIZE) and (Y > WinControl.Height-SC_DRAG_SIZE) then
SysCommWparam := SC_DRAG_RESIZEDR
else if(X < SC_DRAG_SIZE) and (Y > WinControl.Height-SC_DRAG_SIZE) then
SysCommWparam := SC_DRAG_RESIZEDL
else if(X > WinControl.Width-SC_DRAG_SIZE ) and ( Y < SC_DRAG_SIZE) then
SysCommWparam := SC_DRAG_RESIZEUR
else if(X < SC_DRAG_SIZE) then
SysCommWparam := SC_DRAG_RESIZEL
else if(X > WinControl.Width-SC_DRAG_SIZE) then
SysCommWparam := SC_DRAG_RESIZER
else if(Y < SC_DRAG_SIZE) then
SysCommWparam := SC_DRAG_RESIZEU
else if(Y > WinControl.Height-SC_DRAG_SIZE) then
SysCommWparam := SC_DRAG_RESIZED
else
SysCommWparam := SC_DRAG_MOVE;
ReleaseCapture();
//SendMessage(WinControl.Handle, WM_SYSCOMMAND, SysCommWparam, 0);
SendMessage(WinControl.Parent.Handle, WM_SYSCOMMAND, SysCommWparam, 0);
end;
{$ENDREGION}
참조 : http://delphi.about.com/library/weekly/aa110105a.htm반응형
'Programming > Delphi' 카테고리의 다른 글
| 윈도우 특정키 막기 (0) | 2010.07.23 |
|---|---|
| 델파이 Key Constants (0) | 2010.07.21 |
| 특정 폴더 오픈하기 (0) | 2010.07.02 |
| 설치된 프로그램 리스트 얻기 (0) | 2010.06.30 |
| 웹에서 HTML 소스 가져오기 (0) | 2010.06.30 |