|
I think it's impossible, but you can send to the desktop windows the focuse
message and after the mouse message.
Good luck
Ciao
혹시 좋은 방법을 찾으시면.. 저두 좀 알려주세요.. ㅠ_ㅠ
유영인 [Chris] 님이 쓰신 글 :
: 실질적으로 그렇게 만드는건.. 불가능 할것 같구요.. (뉴스그룹에서도 불가능 하다는 의견이네요)
:
: 몇가지 생각나는 꽁수가 있어서.. 적어봅니다.
:
:
: 1. Active Desktop 이용.
: Active Desktop은, 아래 제라툴님 말씀대로 하나의 웹 페이지 입니다. 만약 웹 페이지로 만들 수 있는 ActiveX 용 프로그램을 만드신다면, 원하시는 대로 배치를 하실 수 있겠지요. 물론, 일반적인 프로그램을 만드는 방법과 많이 틀려 벌써 프로그램을 완성하셨다면, 그것을 ActiveX로 바꾸기에는 조금 무리가 있을것 같다는 생각도 드네요.
:
:
: 2. 바탕화면의 핸들을 얻어 작업하기
: GetDC(0) 으로 바탕화면을 얻어서 작업을 할 수 있습니다. 이미지 하나를 동적생성 하신 다음에, Image1->Canvas->Handle = GetDC(0); 로 맞추신다음, Image1에 그리기 작업을 하시면 바탕하면에 그림같은것을 그릴 수 있습니다.
:
:
: 3. 투명폼 작업
: Form1->Brush->Style = bsNone으로 맞추시면 폼이 투명하게 뜨는데, 이 경우 뒤에 있는 바탕이 모두 보입니다. 프로그램을 화면 맨 뒤로 배치시키시고, 폼을 화면크기로 맞추시고 툴바등을 모두 없애주시면, 바탕화면이 그대로 보여지게 됩니다. 이 때, 문제는 폼이 보이지 않아도 폼이 있는것과 마찬가지로 바탕화면에 있는 아이템을 클릭하면 아무런 반응도 없는데, 만약, 프로그램에서 Form1의 MouseDown 메세지를 받으면 화면을 Hide시키고, mouse_event로 클릭한 효과를 한번 더 주면 되겠지요. 물론, 폼이 투명하더라도 배치한 컨트롤은 보이게 됩니다. 하지만, 배치한 컨트롤은 아이콘 위에 뜨겠지요.. -_-a
:
:
:
: Julien 님이 쓰신 글 :
: : 밑에 한 번 질문을 올렸는데 제 질문이 잘못되어서인 지 잘못된 답이 올라왔더군요.
: :
: : 프로그램 간 Z-order를 이용하여 BringToFront나 SendToBack을 할 수 있잖아요.
: :
: : 그런데 SendToBack을 해도 바탕화면에 있는 아이콘 보다는 Z-order상 위쪽에 폼이 놓이게 되죠.
: :
: : 즉 Z-order 순서로 보면 Desktop->Icon->Application 순서로 놓이게 되죠.
: :
: : 저는 Desktop->Application->Icon순서로 Z-order를 구성하고 싶습니다.
: :
: : 어떤 메시지가 나타났을 때 후킹하여 처리하는 것으로 알고 있습니다.
: :
: : 저번에 어디선가 이 자료를 본 적이 있었는데...아무리 찾아도 나타나지를 않네요.
: :
|