2009-01-20 69 views
1

如何在Windows Vista中的C#winforms窗口的標題欄上繪製工具欄?我有一個工作窗口,除非窗口未被最小化/非最大化,它的大小增加了大約16x32px。如果可能,請提供代碼示例。在窗口的標題欄上繪製工具欄

回答

1

有效執行此操作的唯一方法是在爲表單重寫WndProc方法時處理WM_NCPAINT消息。

傳遞到WndProc的基本實現將導致窗框被繪製,但是在那個時候,您將負責在標題欄上繪製工具欄元素。

您還需要處理所有其他WM_NC *消息,這將允許您處理按鈕點擊等(您將需要爲您的繪製控件處理事件)。

+0

你可以提供示例代碼,因爲我是新來的c#。 – duckblaster 2009-01-20 05:38:11

0

我一直在四處尋找同樣的問題,因爲我想將代碼與在左上角那個大按鈕功能導航欄......我發現的唯一的好來源在CodeProjectthis blogthis oneanother one

+0

我已經看過這些,並且使用http://www.codeproject.com/KB/dialog/AeroNonClientAreaButtons.aspx中的一個,但是在每次未最小化/最大化時都會擴大窗口大小的問題。 – duckblaster 2009-01-20 06:26:13