WTL介面自繪系列 預備

2021-06-22 04:57:32 字數 817 閱讀 7800

本文不會闡述技術上的細節,旨在提供巨集觀的思路。

想學windows介面自繪,那麼你要對常用的控制項的用法有所了解,最好有實踐經歷。另外,對gdi、gdi+的學習也是必不可少的,但無需通學。常用的一些gdi函式、用法及gdi技術中的常見名詞、概念弄懂即可。

wtl是windows平台下的乙個庫,主要用於開發介面。關於它的詳細介紹和歷史,請大家自行google。本系列的文章全部基於wtl庫進行學習與演示。

windows(也可特指vc控制項)控制項的自繪技術其實很多,各家技術各有千秋,但最終都規結到devicecontext和rect上。mfc也好,wtl也好,directui也好,最終都要有個devicecontext和乙個rect,不然,繪製就無從談起。

簡單的說,自繪控制項,就是想辦法拿到這個控制項的devicecontext和它的rect,然後,畫什麼,怎麼畫,就是你的事了。本系列文章也以這一思路為主線,結合msdn和網路資料,找到獲取控制項的devicecontext和rect的方法,然後,畫!

windows下傳統的介面自繪主要有ownerdraw和customdraw兩種方式,前者出現較早,後者出較晚,都是windows原生提供的,不是第三方開發的,可以認為後者是前者的公升級,但各有所長,各有所短。後續會專門有一篇文章介紹兩種技術的原理,並嘗試分析它們各自適用的場合,列出各自的優缺點。本系列文章會先以ownerdraw技術進行講解、實戰,之後會用customdraw進行改寫。

中國的社會沒有版權的傳統,中國的網路社會更是如此,因此我無意多費唇舌、自找別扭,但還是想說一句:如果您把我的文章copy到了別處,還請受累註明**鏈結!我會為您的積德行善表示感謝!謝謝!

話不多說,言歸正傳,開始wtl介面自繪!

wtl自繪,按鈕Button

件 pragma once class cmybuttonex public cwindowimpl,public cownerdraw begin msg map cmybuttonex chain msg map alt cownerdraw,1 default reflection handl...

Qt自繪系列 一堆甜甜圈

使用qpainter畫甜甜圈。上手難度 將甜甜圈繪製在qpixmap中,最後再繪製在視窗中。甜甜圈使用qlineargradient實現漸變效果。設定畫筆的寬度實現甜甜圈的寬度。最後使用drawellipse方法畫圓。繪製單個甜甜圈 qpixmap donut createonedount int ...

MFC自繪控制項與介面美化3 人生幾何 新浪部落格

生成的介面如下 圖7 利用wm ctlcolor訊息美化介面 3.3.4 wm drawitem onctlcolor只能修改元素的顏色,但不能修改元素的介面框架,wm drawitem則可以。當乙個具有owner draw風格的元素 包括按鈕 組合框 列表框和選單等 需要顯示外觀時,該元素會傳送一...