WinAPI 함수에 TileWindows 라는 함수가 있어서 질문하나 합니다.
PROCEDURE TileWindows( HwndParent : HWND ; wHow : Cardinal ; lpRect : PRect ; cKids : Cardinal ; lpKids : Pointer);
이 효과를 내기 위해서 변수를 선언하고 코딩을 아래와 같이 해봤습니다.
var <--------------- 전역변수
h : HWND;
a : pointer;
c : PRect;
begin
TileWindows(h, 0, c, 0, @a);
end;
근데, 5번째 파라미터가 문제더군요.
1. 5번째 파라미터를 @a 로 설정한뒤 실행했을때 결과 :
=> <최대화> 되었던 윈도우즈의 모든 폼이 <이전 크기로> 기능을 하며 이전크기로 되돌아가진다.
2. 5번째 파라미터를 a 로 설정한뒤 실행했을때 결과 :
=> 윈도우즈에 존재하는 모든 폼은 Tile 형태가 되버린다. 즉, 이상하게 찌그러져버린다. - -;
---> 1-2 번 중 어느 것이 옳은 표현이고 왜 이와 같은 다른 결과가 나타나는지 알고 싶습니다.
// the windws are tiled horizontally
TileWindows(Form1.ClientHandle,MDITILE_HORIZONTAL,nil,0,nil);
// the windows are tiled vertically
TileWindows(Form1.ClientHandle,MDITILE_SKIPDISABLED,nil,0,nil);
// any windows are tiled vertically
이렇게 쓰는것 같군여..
그럼 이만...
이근윤 wrote:
> WinAPI 함수에 TileWindows 라는 함수가 있어서 질문하나 합니다.
>
> PROCEDURE TileWindows( HwndParent : HWND ; wHow : Cardinal ; lpRect : PRect ; cKids : Cardinal ; lpKids : Pointer);
>
> 이 효과를 내기 위해서 변수를 선언하고 코딩을 아래와 같이 해봤습니다.
>
> var <--------------- 전역변수
> h : HWND;
> a : pointer;
> c : PRect;
> begin
> TileWindows(h, 0, c, 0, @a);
> end;
>
> 근데, 5번째 파라미터가 문제더군요.
>
> 1. 5번째 파라미터를 @a 로 설정한뒤 실행했을때 결과 :
>
> => <최대화> 되었던 윈도우즈의 모든 폼이 <이전 크기로> 기능을 하며 이전크기로 되돌아가진다.
>
> 2. 5번째 파라미터를 a 로 설정한뒤 실행했을때 결과 :
>
> => 윈도우즈에 존재하는 모든 폼은 Tile 형태가 되버린다. 즉, 이상하게 찌그러져버린다. - -;
>
>
>
> ---> 1-2 번 중 어느 것이 옳은 표현이고 왜 이와 같은 다른 결과가 나타나는지 알고 싶습니다.
>