介面開發概述

2022-03-04 11:11:39 字數 1378 閱讀 6263

每個軟體都要有自己的軟體介面,對於軟體開發來說,軟體介面不一定是最重要的,但是也是相當重要的。一款軟體要是可以在介面上做好,吸引了客戶的眼球,那這款軟體也就相對成功了一半。

現在各行各業的軟體都新增了自己的**色彩,顯示出了不同的特點。例如qq,msn,foxmail等等,這些軟體都修改了自己軟體的介面,將自己的介面化做的很完善,很漂亮。使用起來感覺很舒服。我也是乙個做軟體的,於是也打算將自己的軟體做的像那些軟體產品一樣漂亮,於是乎在網上尋求自己軟體介面的解決方案。當然很多很多。下面列舉幾個:

一、使用**元件(irisskin2.dll)

二、自定義開發

這個就比較難了,要了解很多關於windows開發的內容,其中有兩種做法,一種就是使用自定義的**form和button等所有的空間,繼承.net framework提供的控制項中自己使用的大部分,然後擴充套件其中的wndproc方法或者其他的一些方法,這是市最普遍的一種方式。另外就是使用irisskin的方法,使用nativewindow這個底層的類,進行hook程式設計。主要的例子如下:

1、蘇飛的部落格:

2、csharpwin中的**

這兩個寫的都非常好,讓我受益匪淺。

總結了以上的**開發,我了解的到,所謂的**開發無非就是使用了、顏色等內容將窗體進行了重繪或者就是覆蓋,也就是過載了wndproc中的paint,ncpaint等等操作。對於winform來說,乙個窗體主要分為兩塊,即non client area和client area,如下圖:

簡單的說就是對client area和non client area的繪製。而form中的wndproc的paint,ncpaint就是完成這樣的操作。

3、我的實現方式。

我的實現方式主要研究了蘇飛和cshaorpwindow的兩個程式,還有就是檢視了irisskin的反編譯源**,我覺得實現的方式還是使用irisskin的方式比較好,irisskin的實現是使用了本地的乙個簡單的類nativewindow,這是是乙個可以實現簡單的窗體等的註冊,也就是hook。我按照了這種方法,寫了乙個簡單的程式。基本上可以實現irisskin的內容,使用的方式和irisskin的使用方式一樣,都是在窗體中新增乙個skinengine的component,這樣窗體就會顯示了office2007的樣式,如下圖所示:

現在主要實現了在窗體上的label可以顯示為**的顏色,但是對於對話方塊中的顏色還沒有進行處理。還需要很多的處理,包括**的設計和窗體中各個控制項的設計。我會將在後續專題中寫相關的內容。

原始碼如下:skinengines2010-03-17.rar

介面開發相關概述

概括而言,介面表相當於是在處理資料過程中的臨時儲存區,介面是乙個處理資料的程式包。將需要進行處理的資料儲存在介面表中,再對這些資料進行相應的處理,最後生成相應的結果,根據不同的需求判斷是否需要將處理結果回寫到介面表中,這個過程即為介面的處理過程。介面表起到的作用一般為臨時儲存,資料追溯等。介面則進行...

C 介面 介面概述

c 不支援多重繼承,但是客觀世界出現多重繼承的情況又比較多。為了避免傳統的多重繼承給程式帶來的複雜性等問題,c 提出了介面的概念。通過介面可以實現多重繼承的功能。介面是單純對事物行為的描述。例如,電器都有 開 和 關 兩個行為,開關的作用在於開啟或關閉電器,而開關的形式也是不一樣的。電燈 電視 電扇...

介面的概述

介面 是一種對行為的抽象,它描述某個類會不會什麼 介面的宣告語法 訪問修飾符 inte ce 介面名 inte ce關鍵字 用於定義介面 介面中的所有方法都是抽象方法,即使不標明abstract 乙個類可以實現乙個或多個介面,當實現乙個介面時,必須實現介面中所有的抽象方法 介面實現的語法 在類定義後...