由于我们对控件的功能、外观的需求,公共控件并不能很好地满足这一点,所以我们就得自绘控件。
自绘控件有许多方法,比如:处理WM_PAINT消息,设置ownDraw风格,处理WM_CTLCOLOR消息,等。
之前见过有网友发表过自定义绘制的方法,但目前我只了解前面这几个方法,日后有机会再补充。
处理WM_PAINT消息
这个应该是最容易想到的方法。在windowProc()函数中处理WM_PAINT消            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2013-11-14 21:27:00
                            
                                207阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            WinForm的一些控件具备自绘功能,这就意味着你可以对这些控件进行自绘,起到意想不到的效果。以下控件就是通过一些简单的控件转变过来的——1、横向选项卡: 这个“横向”对话框其实是通过一个TabControl进行“方向旋转”、重绘控件项等操作进行实现的。步骤如下:1.1)Alignment:用于控制选项卡的方向(设置为Left)。1.2)SizeMode:用于调整每个选项卡,默认是Nor            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-24 12:11:22
                            
                                76阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一:custom draw自行绘制 ClistCtrl 的列表项,可以利用列表框的 NM_CUSTOM             
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2013-05-05 01:12:00
                            
                                170阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            按钮自绘,将按钮区域分成三部分,左边、右边、中间都由贴图绘制,可用于手动进度条按钮,或者左右选择项按钮cpp代码部分:[cpp]view plaincopy//LRSkinButton.cpp:implementationfile//#include"stdafx.h"#include"CRedra...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2014-04-30 14:28:00
                            
                                117阅读
                            
                                                                             
                 
                
                             
         
            
            
            
               自定义TreeDataView 控件,百万级别数据秒绘。最近需要使用到数据展现,需要对数据折叠展现。网上找了许多控件,如:TreeListView,TreevDataGirdView等,但是都无法到达效果,而且加载百万条数据时,绘制灰常的卡顿。话不多说。先上效果图  1 准备工作,创建两个类,用户绘制行与列  public class UserRow
    {        /// 
              
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-05-24 18:32:15
                            
                                146阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            一、自定义状态笑脸 其中笑脸是png图片,通过drawPixmap,右边字体通过drawText ZStateText.h #ifndef ZSTATETEXT_H #define ZSTATETEXT_H #include <QWidget> #include "includes.h" #incl            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-02-26 14:15:00
                            
                                372阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            WTL提供的CCustomDraw,通过让控件继承CCustomDraw,可以实现控件的自绘。            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2009-08-16 16:10:21
                            
                                5137阅读
                            
                                                                                    
                                1评论
                            
                                                 
                 
                
                             
         
            
            
            
            自绘滑动按钮
 
首先描述下我要做的东西,一个带3D效果的滑动开关:
                 
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2010-10-25 22:19:20
                            
                                771阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            看了吕鑫老师的视频,自己试着编写了一个自绘按钮控件。YuButton.h头文件如下:#pragma once  
#include "afxwin.h"  
class CYuButton :public CWnd  
{  
   &nb            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2017-09-20 13:38:11
                            
                                1357阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            自绘tab按钮效果图如下: 使用例子: MyTabControl *tabControl = NULL; tabControl =            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2016-06-28 21:55:00
                            
                                170阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            ListBoxItem1的事件ListBoxItem1Paint ://.cnblogs.com/cb168/p/5500756.html        Read More            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2016-06-02 04:53:00
                            
                                141阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            做“HOOK文件打开/保存对话框”的过程中,我首先研究了界面库的相关知识。界面库一般都是由C/C++这种中低级语言编码,这是因为在Windows下的界面库实现技术大都以直接操作控制Windows的消息和调用Windows的API为主,这就是这种中低级语言的优势了。无论何种界面库,最为根本的原理就是获得或者截获窗口的某些消息,按照自己的需要处理这些消息,画出自己需要的界面。按照Windows下的界面库的使用方法来分类,可以分为两种: 1、 通过派生、继承界面库中的类来使用库。这类界面库现在是占绝大多数。这类界面库通常可以对同种类型的控件、窗口自己控制显示风格。这种类型的界面库典型的代表就是Gui            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2013-05-05 01:22:00
                            
                                134阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            # Android 自绘 Switch 的实现教程
在 Android 开发中,自定义控件是一个十分有趣且实用的内容,特别是自绘 Switch。这篇文章将会指导你如何自定义一个 Switch 控件。我们将涉及的主要步骤包括:设计控件样式、创建自定义控件,并实现其逻辑。通过这篇教程,你将能够逐渐掌握自绘控件的基本概念。
## 工作流程
下面是实现自绘 Switch 的具体步骤,表格清晰展示了流            
                
         
            
            
            
            做“HOOK文件打开/保存对话框”的过程中,我首先研究了界面库的相关知识。界面库一般都是由C/C++这种中低级语言编码,这是因为在Windows下的界面库实现技术大都以直接操作控制Windows的消息和调用Windows的API为主,这就是这种中低级语言的优势了。无论何种界面库,最为根本的原理就是获        Read More            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2016-04-18 00:16:00
                            
                                244阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            delphi Firemonkey ListBoxItem自绘
ListBoxItem1的事件ListBoxItem1Paint
procedure TForm1.ListBoxItem1Paint(Sender: TObject; Canvas: TCanvas; const ARect: TRectF);
begin
  if (Sender as TListBoxItem).IsSelec            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2016-05-17 11:03:00
                            
                                148阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            概述:该类为主要是实现窗口的背景绘制和各种子控件的管理已经,通用控件的资源的加载等一些基            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-12-14 18:21:40
                            
                                184阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            序言 最近仿照网上的案例,学习了 CustomPaint 的绘制使用。万丈高楼平地起,每天学习,每天进步。下面把 CustomPaint 在使用过程中的重点记录一下。 基本用法 父层 CustomPa            
                
         
            
            
            
            Qt5 自绘按钮控件,实现高度个性化的功能。核心思想是重写paintEvent等各种事件处理函数,根据当前状态在QPaintDevice上绘制图像。效果            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2022-06-13 17:12:07
                            
                                321阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            #pragma once #include "afxwin.h"   class CMyButton : public CButton { //DECLARE_DYNAMIC(CMyButton) public: CMyButton(); virtual ~CMyButton(); //设置Button Down的背景颜色     void SetDownColor(COLOR            
                
                    
                        
                                                                            
                                                                                        原创
                                                                                    
                            2013-11-15 12:28:00
                            
                                680阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            头文件: 内存DC 调用方法: 源文地址:http://blog.csdn.net/huasonl88/article/details/43226011        Read More            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2016-06-28 20:05:00
                            
                                152阅读
                            
                                                                                    
                                2评论