프로그램 실행될때
프로그램이 미니마이즈 되서 있을때
다시 프로그램을 실행하였을 경우 두번 실행하지 않고
미니마이즈 된 프로그램이 다시 화면에 보이게 하기 위해
아래와 같이
ShowWindow(Handle, SW_SHOW);
을 썼습니다
그런데
이렇게 실행된 경우
미니마이즈가 실행 되지 않습니다
미니마이즈 아이콘은 있으나 눌러도 아무런 반응이 없습니다
ShowWindow(Handle, SW_SHOW);
함수를 쓰기전 처음에 실행되었을때는 미니마이즈가 됩니다
미니마이즈 이벤트 핸들러를 설치해보니
미니마이즈 이벤트가 발생되지 않았습니다
procedure TFrm_Main.MinimizeHandler(Sender: TObject);
begin
showmessage('minimize');
end;
왜 그런건가요?
프로그램은 mdi form 입니다
갈쳐주세요...
핸들을 폼으로 찾지마시고 Application으로 찾으세요.
var
AHandle: HWND;
begin
AHandle := FindWindow('TApplication', 'Project2');
ShowWindow(AHandle, SW_SHOWNORMAL);
end;
그럼 제대로 작동할 것입니다.
^^ 항상 즐코하세요.
초봅니다 wrote:
> 프로그램 실행될때
> 프로그램이 미니마이즈 되서 있을때
> 다시 프로그램을 실행하였을 경우 두번 실행하지 않고
> 미니마이즈 된 프로그램이 다시 화면에 보이게 하기 위해
> 아래와 같이
> ShowWindow(Handle, SW_SHOW);
> 을 썼습니다
> 그런데
> 이렇게 실행된 경우
> 미니마이즈가 실행 되지 않습니다
> 미니마이즈 아이콘은 있으나 눌러도 아무런 반응이 없습니다
> ShowWindow(Handle, SW_SHOW);
> 함수를 쓰기전 처음에 실행되었을때는 미니마이즈가 됩니다
>
> 미니마이즈 이벤트 핸들러를 설치해보니
> 미니마이즈 이벤트가 발생되지 않았습니다
> procedure TFrm_Main.MinimizeHandler(Sender: TObject);
> begin
> showmessage('minimize');
> end;
>
>
> 왜 그런건가요?
>
> 프로그램은 mdi form 입니다
> 갈쳐주세요...
>