|
답변감사드립니다.
그런데 , 폼이 최소화 인 경우에는 화면에 나오는데.
폼이 다른 폼의 뒤에 있는 경우에는 맨앞으로
화면이 나오지 않습니다.
이런 경우는 어떻게 해야하나요.
SetForegroundWindow( Form1->Handle);
이 안먹히는 것 같은데...
장성호 님이 쓰신 글 :
: 1. FindWindow를 사용하지 마시길..
:
: 다른 프로그램의 윈도우를 찾아서 맨앞으로 보내는것이 아니라
: 현재 프로그램을 맨앞으로 보내고자 하는데 왜 FindWindow를 쓰지요?
:
: TForm1 클래스 내부 함수이면 그냥 Handle로 접근하면 됩니다.
: SetForegroundWindow( Handle); //이렇게..
:
: FindWindow는
: 윈도우가 최소화되어있거나 하면 FindWindow로 윈도우를 제대로 못찾습니다.
: 또한 아래처럼 classname으로 찾을경우에도 같은 class의 윈도우가 두개이상일경우에 문제가 있을수있고
: caption으로 찾더라도 같은 caption인경우 엉뚱한 놈이 찾아질수 있겠죠..
:
:
: 2. 폼이 최소화 상태일때는 원상태로 복구한후에 맨앞으로 보내야 ....
:
:
: 정리하면...
: Application->Restore();
: SetForegroundWindow(Handle);
:
: 그럼..
:
:
: 하안인 님이 쓰신 글 :
: : 프로그램이 뒤에 있거나 최소화 되어 있을 경우
: :
: : 화면의 맨앞으로 보내려면 어떻게 해야 하나요.
: :
: : ::SetForegroundWindow( ::FindWindow("TForm1", NULL ) );
: : Application->BringToFront();
: :
: : 으로는 되지 않아서요.
|