為什么 BitBlt 第二第三參數是200,這是繪制到位圖上的坐標起點,一般是0。如果繪制寬度和坐標起點不能使位圖全覆蓋上,留出的空白部分自然為黑色的。

網站設計制作過程拒絕使用模板建站;使用PHP+MYSQL原生開發可交付網站源代碼;符合網站優化排名的后臺管理系統;成都網站建設、網站設計收費合理;免費進行網站備案等企業網站建設一條龍服務.我們是一家持續穩定運營了十多年的創新互聯網站建設公司。
假如下面那樣,沒見有黑邊:
hBMP = CreateCompatibleBitmap(hDC, 500,600)
hBMPOld = SelectObject(hMDC, hBMP)
BitBlt(hMDC,0,0, 500, 600, hDC, 0, 0, HCC0020)
hBMP = SelectObject(hMDC, hBMPOld)
要么重寫這個控件的 OnPaint 事件,判斷 BorderStyle 屬性為 FixedSingle 的時候自繪其他顏色。
要么不重寫,把 BorderStyle 設為 None,直接在這個控件的 Paint 事件里自繪邊框,例如:
Private?Sub?Label1_Paint(sender?As?Object,?e?As?PaintEventArgs)?Handles?Label1.Paint
e.Graphics.DrawRectangle(Pens.Red,?New?Rectangle(Label1.DisplayRectangle.X,?Label1.DisplayRectangle.Y,?Label1.DisplayRectangle.Width?-?1,?Label1.DisplayRectangle.Height?-?1))
End?Sub
運行效果:
調用系統API使窗體下擁有陰影效果
using System.Runtime.InteropServices;
然后再窗口類的隨便哪個地方加上:
const int CS_DROPSHADOW = 0x20000;
const int GCL_STYLE = (-26);
//聲明Win32 API
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern int SetClassLong(IntPtr hwnd,int nIndex,int dwNewLong);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern int GetClassLong(IntPtr hwnd, int nIndex);
最后在窗體的構造函數中加上:
SetClassLong(this.Handle, GCL_STYLE, GetClassLong(this.Handle, GCL_STYLE) | CS_DROPSHADOW);
分享文章:vb.net圖像黑邊 vb怎么設置圖片框背景顏色
當前鏈接:http://www.js-pz168.com/article48/dohieep.html
成都網站建設公司_創新互聯,為您提供服務器托管、企業建站、定制網站、企業網站制作、網站設計、手機網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯