-
포커스를 빼앗지 않는 폼 구현dev/.NET 2009. 10. 7. 08:29
네이트 쪽지기능처럼 창이 뜰때 기존 작업중인 윈도우의 포커스를 빼앗지 않는 창 구현 방법.
데브피아 c# 마을 강좌란 이철님 올린 내용.
http://www.devpia.com/Maeul/Contents/Detail.aspx?BoardID=18&MAEULNo=8&no=1774&ref=1774
1. WinAPI - ShowWindow함수 사용
[System.Runtime.InteropServices.DllImport("user32.dll")]
public static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);//RecvMemoWnd가 Form입니다. (쪽지창)
RecvMemoWnd memo = new RecvMemoWnd (strTitle, strContent, strTime, strSender);
ShowWindow(memo .Handle, WM_SHOWNOACTIVATE); //WM_SHOWNOACTIVATE = 42. 닷넷 - ShowWithoutActivation를 오버라이드하는 Child Form Class
public class Test : Form
{
bool showWithoutActivation = false;
protected override bool ShowWithoutActivation
{
get
{
return showWithoutActivation;
}
}public void Show(bool activate)
{
showWithoutActivation = !activate;
Show();
}
}