構造屬於自己的記憶體DC類

2021-06-22 21:50:29 字數 1267 閱讀 6731

由於vc6沒有封裝記憶體dc,要想寫出漂亮的介面就會比較困難,也會導致螢幕的閃爍,封裝好這個類以後再去開發軟體就會簡單很多,今天我們就來構造乙個屬於我們自己的記憶體dc。

載入點陣圖的方式有很多種,首先寫乙個從資源中載入點陣圖的函式。

bool loadbitmap(uint nbitmapid,cdc* pdc=null)

然後構造乙個從檔案載入點陣圖的函式。

bool loadbitmap(lpcstr szbitmapfile,cdc* pdc=null)

我們還需要建立一張空白的畫布,這個函式在解決閃爍的時候需要用到。

bool create(int cx,int cy,cdc* pdc = null)

接下來我們需要建立三個建構函式,分別對應不同的點陣圖載入方式。

cmemdc(uint nbitmapid,cdc* pdc=null)

cmemdc(lpcstr szbitmapfile,cdc* pdc=null)

cmemdc(int cx,int cy,cdc* pdc = null)

我們經常需要在螢幕上輸出背景透明的,下面這個函式就可以使背景透明。

void bittrans(

int nxdest,

// 目標起點x

int nydest,

// 目標起點y

int nwidthdest,

// 目標寬度

int nheightdest,// 目標高度

cdc* pdc,

// 目標dc

int nxsrc,

// **起點x

int nysrc,

// **起點y

colorref crtrans// 透明色) 

void stretchtrans(

int nxdest,

// 目標起點x

int nydest,

// 目標起點y

int nwidthdest,     // 目標寬度

int nheightdest,    // 目標高度

cdc* pdc,

// 目標dc

int nxsrc,

// **起點x

int nysrc,

// **起點y

int nwidthsrc,

// **寬度

int nheightsrc,

// **高度

colorref crtrans

// 透明色

)

activiti構造屬於自己的流程定義

說起actviti,很多人都會說它支援bpmn標準,它的流轉都是基於bpmn檔案來執行!但我們在設計流程時,流程定義真的只能是bpmn定義嗎?其實不然,activti可以支援任意流程定義,只要你發布流程時,將你的流程定義轉成bpmn檔案即可!分析如下 表act re model是activiti用於...

Nuget發布屬於自己的C 類庫包

登入你的 nuget.org 帳戶,或建立乙個帳戶 如果你還沒有帳戶 選擇使用者名稱 在右上角 然後選擇 api 金鑰 選擇 建立 提供金鑰名稱,選擇 選擇範圍 推送 在 api 金鑰 下,輸入 glob 模式 然後選擇 建立 建立金鑰後,選擇 複製 檢索需要在 cli 中使用的訪問金鑰 重要事項 ...

選擇屬於自己的ERP

太平洋三威公司 pacific sunwear 通過建立乙個特別的erp系統,成長為擁有1000家連鎖分店的零售商。早在1994年,擁有90家分店的加利福尼亞太平洋三威公司 以下簡稱太平洋三威 在美國西海岸就已頗具影響。隨後該公司進行了大規模的拓展,現在該公司計畫在未來3年裡再增加300家分店,到2...