c#WndProc를 다시 로드하여 "최소화"재작성

1118 단어
code #1
 
  
private void Form1_SizeChanged(object sender, EventArgs e) //
{
if (this.WindowState == FormWindowState.Minimized)//
{
StopRectTimer.Enabled = false;
this.Visible = false;
this.notifyIcon1.Visible = true; //
this.notifyIcon1.Text = this.Text; //
this.ShowInTaskbar = false; //
reghotkey();
OToolStripMenuItem.Text = " (&O)";
}
}

가사 상태를 켜면 창의 크기를 최소화하고 바꾸지 않는 방법이 분명하다.무거운 짐을'최소화'하고 싶은데 어떻게 무거운 짐을 싣죠?WndProc를 다시 로드하는 시나리오는 다음과 같습니다.
 
  
const int WM_SYSCOMMAND = 0x112;
const int SC_CLOSE = 0xF060;
const int SC_MINIMIZE = 0xF020;
const int SC_MAXIMIZE = 0xF030;
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_SYSCOMMAND)
{
if (m.WParam.ToInt32() == SC_MINIMIZE)
{
this.Visible = false;
return;
}
}
base.WndProc(ref m);
}

좋은 웹페이지 즐겨찾기