利用MFC进行IP地址控件的绘制

本文介绍如何在MFC中实现自定义绘制IP地址控件,避免从CWnd继承并重绘的复杂过程。通过覆盖OnCtlColor、OnEraseBkgnd、OnPaint和OnNcPaint等消息处理函数,实现背景填充和点的绘制,创建出具有特定样式的IP地址输入控件。
摘要由CSDN通过智能技术生成

 由于项目的需要,要自己绘制IP地址控件,但如果从继承CWnd重绘又觉得太麻烦,于是几经摸索终于得出IP地址控件自绘的规律,代码如下:

//SkinIPAddressCtrl.h

 

#pragma once


// CSkinIPAddressCtrl

class CSkinIPAddressCtrl : public CIPAddressCtrl
{
 DECLARE_DYNAMIC(CSkinIPAddressCtrl)

public:
 CSkinIPAddressCtrl();
 virtual ~CSkinIPAddressCtrl();

protected:
 DECLARE_MESSAGE_MAP()
public:
 afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
 afx_msg BOOL OnEraseBkgnd(CDC* pDC);
 afx_msg void OnPaint();
protected:
 virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
 void OnNcPaint();
};

 

/

//SkinIPAddressCtrl.cpp

 

// SkinIPAddressCtrl.cpp : 实现文件
//

#include "stdafx.h"
#include "SkinIPAddressCtrl.h"

 

#define COLOR_EDIT RGB(109,109,109)

 

/

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值