C WinForm 中在視窗標題欄上加按鈕 轉

2022-10-10 12:57:06 字數 1685 閱讀 3099

system;

using

system.drawing;

using

system.drawing.drawing2d;

using

system.collections;

using

system.componentmodel;

using

system.windows.forms;

using

system.data;

using

system.runtime.interopservices;

using

system.diagnostics;

namespace

//////

form1 的摘要說明。

///public

class

form1 : system.windows.forms.form

//////

清理所有正在使用的資源。

///protected

override

void

dispose(

bool

disposing)

}base

.dispose(disposing);

}#region

windows 窗體設計器生成的**

//////

設計器支援所需的方法 - 不要使用**編輯器修改

///此方法的內容。

///private

void

initializecomponent()

#endregion

//////

應用程式的主入口點。

///[stathread]

static

void

newform1());

}[dllimport(

"user32.dll")]

private

static

extern

intptr getwindowdc(intptr hwnd);

[dllimport(

"user32.dll")]

private

static

extern

intreleasedc(intptr hwnd, intptr hdc);

[dllimport(

"kernel32.dll")]

private

static

extern

intgetlasterror();

//標題欄按鈕的矩形區域。

rectangle m_rect 

=new

rectangle(

205, 4, 

16, 

16);

protected

override

void

wndproc(

refmessage m)

case

0xa1://

wm_nclbuttondown

break;}

}}//在視窗大小改變時及時更新按鈕的區域。

private

void

form1_sizechanged(

object

sender, system.eventargs e)}}

C WinForm 中在視窗標題欄上加按鈕

在視窗標題欄上加按鈕本來不是什麼新鮮事了,我在vc 下早也實現過了 相信很多人也都實現過了 今天乙個朋友問我c winform下可否實現,我就順便拿c 寫了乙個。原理是一樣的,都是重寫視窗過程 wndproc 處理一些非客戶區訊息 wm nc x 可以說本來沒有什麼新意,可是從寫這個程式的過程中,我...

C WinForm 中在視窗標題欄上加按鈕

在視窗標題欄上加按鈕本來不是什麼新鮮事了,我在vc 下早也實現過了 相信很多人也都實現過了 今天乙個朋友問我c winform下可否實現,我就順便拿c 寫了乙個。原理是一樣的,都是重寫視窗過程 wndproc 處理一些非客戶區訊息 wm nc x 可以說本來沒有什麼新意,可是從寫這個程式的過程中,我...

移動無標題欄視窗

一般情況下,移動乙個窗體需要將滑鼠放置在標題欄上才能拖動窗體,為 什麼非要使用標題欄呢?其實我們可以使用乙個巧妙的方法來實現將滑鼠放置 在窗體上按下就可拖動窗體,下面先看實現 在form1的 private 部分宣告過程 在private部分加入下列 procedure wmnchittest va...