MFC-皮肤颜色集组合界面程序DlgSkinBase

news2024/11/28 14:32:50

虽然是小程序,编辑的源代码也很少,但其中的编程思想却是大型工程项目的配色经典基础。就如万丈高楼的基础中的钢筋般重要。
或者很多程序员一辈子也难接触到大型项目程序...还是那句话,既然缘分来了,不妨共享出来,希望能对有缘人有所帮助。
VS平台做的MFC皮肤颜色集组合的皮肤界面的小项目程序。左点击在4个主颜色色组合套餐切换,右点击在17颜色组合套餐间切换。
MFC_DlgSkinBase.rar解压后有4个文件和1个源代码程序压缩包。
1,color.ini  所有的17个颜色组合套餐的数据。
2,ColorSet.h 配色时需要用到的源代码头文件。
3,ColorSet.cpp 配色时需要用到的源代码实现文件。
4,readme.txt 以上文件的使用方法及简单编程过程。
5,DlgSkinBase.rar 颜色组合套餐的配色程序实例(VS2015)。

程序界面图1.

需要增加的文件:
// file ---------------------------------------------------------------------------------------------------------------
ColorSet.h
ColorSet.cpp
Color.ini

项目配置(1-4):
// file ---------------------------------------------------------------------------------------------------------------
xxx.vcxproj
xxx.vcxproj.filters

1,add new filter BaseModule -> add existing item...ColorSet.h ColorSet.cpp
2,Use Multi-Byte Character Set
3,Use x86, no Use x64
4,copy Color.ini ---> Debug\Color.ini  or Release\Color.ini

编辑源代码文件1:
// file ---------------------------------------------------------------------------------------------------------------
xxxDlg.h

#pragma once
#include "ColorSet.h"

class xxxDlg : public CDialog
{...
    CColorSet  m_ColorSet;
    
    int m_ColorSet_index; //辅助(assist)
    CRect rc_client, rc_windows; //辅助(assist)
    CStringArray aColorName; //辅助(assist)
    ...
    afx_msg void OnLButtonUp(UINT nFlags, CPoint point); //辅助(assist)
    afx_msg void OnRButtonUp(UINT nFlags, CPoint point); //辅助(assist)
    //}}AFX_MSG
    DECLARE_MESSAGE_MAP()
};

编辑源代码文件2:
// file ---------------------------------------------------------------------------------------------------------------
xxxDlg.cpp

BOOL xxxDlg::OnInitDialog()
{...
    m_ColorSet.Init();
    m_ColorSet.Load();
    
    m_ColorSet_index = m_ColorSet.m_nCurSel; //辅助(assist)    
    m_ColorSet.GetAllColorName(aColorName); //辅助(assist)
    
    return TRUE;  // return TRUE  unless you set the focus to a control
}

程序界面图2,


辅助(assist)编辑其它的源代码文件:
// assist begin // 辅助(assist)开始

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void xxxDlg::OnLButtonUp(UINT nFlags, CPoint point) 
{
    // TODO: Add your message handler code here and/or call default
    
    int refer[4] = {11, 15, 17, 10};  // 对应白,黑,蓝,经典。
    static int index_refer = 0;
    
    m_ColorSet_index   = refer[index_refer]; 
    m_ColorSet.SetCurSel(m_ColorSet_index);
    
    index_refer ++;
    if (index_refer >=4 )  index_refer = 0;

    InvalidateRect(NULL, false);
    
    CDialog::OnLButtonUp(nFlags, point);
}

void xxxDlg::OnRButtonUp(UINT nFlags, CPoint point) 
{
    // TODO: Add your message handler code here and/or call default

    m_ColorSet_index ++;
    m_ColorSet.SetCurSel(m_ColorSet_index);
    InvalidateRect(NULL, false);
    
    CDialog::OnRButtonUp(nFlags, point);
}


void xxxDlg::OnPaint() 
{
#if 0
    if (IsIconic())
    {
        CPaintDC dc(this); // device context for painting

        SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

        // Center icon in client rectangle
        int cxIcon = GetSystemMetrics(SM_CXICON);
        int cyIcon = GetSystemMetrics(SM_CYICON);
        CRect rect;
        GetClientRect(&rect);
        int x = (rect.Width() - cxIcon + 1) / 2;
        int y = (rect.Height() - cyIcon + 1) / 2;

        // Draw the icon
        dc.DrawIcon(x, y, m_hIcon);
    }
    else
    {
        CDialog::OnPaint();
    }
#endif

    CPaintDC dc(this); // device context for painting

    GetClientRect(&rc_client);
    GetWindowRect(&rc_windows);
    
    CRect rc;
    GetClientRect(&rc);
    
    // #define CR_BACKGROUND        0    // 背景色    
    dc.FillSolidRect( rc, m_ColorSet.m_colors[CR_BACKGROUND]);    
    
    dc.SetBkColor(m_ColorSet.m_colors[CR_BACKGROUND]);
    dc.SetTextColor(m_ColorSet.m_colors[CR_TEXT]);

    CString  strCaption;
    CSize size;
    int max_right=0, offcx = 100;
    int max_bottom=0, offcy = 20;

    size.cx = size.cy = 0;

    // Title 
    if (0 == aColorName.GetSize())    
        strCaption.Format("颜色组合名称:aColorName.GetSize()=0. m_nCurSel=%d",m_ColorSet.m_nCurSel);
    else
        strCaption.Format("颜色组合名称:%s. m_nCurSel=%d",aColorName[m_ColorSet.m_nCurSel], m_ColorSet.m_nCurSel);
    
    dc.SetTextColor(m_ColorSet.m_colors[CR_NAMECODE]);
    rc.top = rc.top + size.cy;
    size = dc.GetTextExtent(strCaption);
    if (rc.left + size.cx > max_right) max_right = rc.left + size.cx;
    dc.TextOut((rc.Width()-size.cx)/2, rc.top, strCaption );
    
    strCaption.Format("RGB(0X%02X,0X%02X,0X%02X)  COLORREF:%ul ",
        GetRValue(m_ColorSet.m_colors[CR_BACKGROUND]),
        GetGValue(m_ColorSet.m_colors[CR_BACKGROUND]),
        GetBValue(m_ColorSet.m_colors[CR_BACKGROUND]),
        m_ColorSet.m_colors[CR_BACKGROUND]);    
    dc.SetTextColor(m_ColorSet.m_colors[CR_NAMECODE]);
    rc.top = rc.top + size.cy;
    size = dc.GetTextExtent(strCaption);
    if (rc.left + size.cx > max_right) max_right = rc.left + size.cx;
    dc.TextOut((rc.Width()-size.cx)/2, rc.top, strCaption );


    // #define CR_NAMECODE        1    // 名称代号
    strCaption.Format("1,名称代号 %s=%ul", "m_ColorSet.m_colors[CR_NAMECODE]",m_ColorSet.m_colors[CR_NAMECODE]);
    dc.SetTextColor(m_ColorSet.m_colors[CR_NAMECODE]);
    rc.top = rc.top + size.cy;
    dc.TextOut(rc.left, rc.top, strCaption );
    size = dc.GetTextExtent(strCaption);
    max_right = rc.left + size.cx;

    // #define CR_CUSTOM                2    // 自定义
    strCaption.Format("2,自定义 %s=%ul", "m_ColorSet.m_colors[CR_CUSTOM]",m_ColorSet.m_colors[CR_CUSTOM]);
    dc.SetTextColor(m_ColorSet.m_colors[CR_CUSTOM]);
    rc.top = rc.top + size.cy;
    dc.TextOut(rc.left, rc.top, strCaption );
    size = dc.GetTextExtent(strCaption);
    if (rc.left + size.cx > max_right) max_right = rc.left + size.cx;

    // #define CR_TITLE            3    // 标题
    strCaption.Format("3,标题 %s=%ul", "m_ColorSet.m_colors[CR_TITLE]",m_ColorSet.m_colors[CR_TITLE]);
    dc.SetTextColor(m_ColorSet.m_colors[CR_TITLE]);
    rc.top = rc.top + size.cy;
    dc.TextOut(rc.left, rc.top, strCaption );
    size = dc.GetTextExtent(strCaption);
    if (rc.left + size.cx > max_right) max_right = rc.left + size.cx;

    // #define CR_TITLEBG        4    // 标题背景 //基本和// 背景色 一致.
    strCaption.Format("4,(CR_NAMECODE)标题背景 %s=%ul...一致背景色?", "m_ColorSet.m_colors[CR_TITLEBG]",m_ColorSet.m_colors[CR_TITLEBG]);
    dc.SetTextColor(m_ColorSet.m_colors[CR_NAMECODE]); // CR_TITLEBG
    rc.top = rc.top + size.cy;
    dc.TextOut(rc.left, rc.top, strCaption );
    size = dc.GetTextExtent(strCaption);
    if (rc.left + size.cx > max_right) max_right = rc.left + size.cx;

    //#define CR_GRID            5    // 表框线
    strCaption.Format("5,表框线 %s=%ul", "m_ColorSet.m_colors[CR_GRID]",m_ColorSet.m_colors[CR_GRID]);
    dc.SetTextColor(m_ColorSet.m_colors[CR_GRID]);
    rc.top = rc.top + size.cy;
    dc.TextOut(rc.left, rc.top, strCaption );
    size = dc.GetTextExtent(strCaption);
    if (rc.left + size.cx > max_right) max_right = rc.left + size.cx;

    // #define CR_SEL            6    // 表选中行
    strCaption.Format("6,表选中行 %s=%ul", "m_ColorSet.m_colors[CR_SEL]",m_ColorSet.m_colors[CR_SEL]);
    dc.SetTextColor(m_ColorSet.m_colors[CR_SEL]);
    rc.top = rc.top + size.cy;
    dc.TextOut(rc.left, rc.top, strCaption );
    size = dc.GetTextExtent(strCaption);
    if (rc.left + size.cx > max_right) max_right = rc.left + size.cx;

    //#define CR_GRIDTEXT            7    // 表文本
    strCaption.Format("7,表文本 %s=%ul", "m_ColorSet.m_colors[CR_GRIDTEXT]",m_ColorSet.m_colors[CR_GRIDTEXT]);
    dc.SetTextColor(m_ColorSet.m_colors[CR_GRIDTEXT]);
    rc.top = rc.top + size.cy;
    dc.TextOut(rc.left, rc.top, strCaption );
    size = dc.GetTextExtent(strCaption);
    if (rc.left + size.cx > max_right) max_right = rc.left + size.cx;
    
    //#define CR_FLASH            8    // 表闪烁
    strCaption.Format("8,表闪烁 %s=%ul", "m_ColorSet.m_colors[CR_FLASH]",m_ColorSet.m_colors[CR_FLASH]);
    dc.SetTextColor(m_ColorSet.m_colors[CR_FLASH]);
    rc.top = rc.top + size.cy;
    dc.TextOut(rc.left, rc.top, strCaption );
    size = dc.GetTextExtent(strCaption);
    if (rc.left + size.cx > max_right) max_right = rc.left + size.cx;

    // #define CR_RISE            9    // 上升
    strCaption.Format("9,上升 %s=%ul", "m_ColorSet.m_colors[CR_RISE]",m_ColorSet.m_colors[CR_RISE]);
    dc.SetTextColor(m_ColorSet.m_colors[CR_RISE]);
    rc.top = rc.top + size.cy;
    dc.TextOut(rc.left, rc.top, strCaption );
    size = dc.GetTextExtent(strCaption);
    if (rc.left + size.cx > max_right) max_right = rc.left + size.cx;

    // #define CR_DOWN            10    // 下降
    strCaption.Format("10,下降 %s=%ul", "m_ColorSet.m_colors[CR_DOWN]",m_ColorSet.m_colors[CR_DOWN]);
    dc.SetTextColor(m_ColorSet.m_colors[CR_DOWN]);
    rc.top = rc.top + size.cy;
    dc.TextOut(rc.left, rc.top, strCaption );
    size = dc.GetTextExtent(strCaption);
    if (rc.left + size.cx > max_right) max_right = rc.left + size.cx;

    // #define CR_UNCHANGE        11    // 无变化
    strCaption.Format("11,无变化 %s=%ul", "m_ColorSet.m_colors[CR_UNCHANGE]",m_ColorSet.m_colors[CR_UNCHANGE]);
    dc.SetTextColor(m_ColorSet.m_colors[CR_UNCHANGE]);
    rc.top = rc.top + size.cy;
    dc.TextOut(rc.left, rc.top, strCaption );
    size = dc.GetTextExtent(strCaption);
    if (rc.left + size.cx > max_right) max_right = rc.left + size.cx;

    // #define CR_CHARTDOWN        12    // 图表向下
    strCaption.Format("12,图表向下 %s=%ul", "m_ColorSet.m_colors[CR_CHARTDOWN]",m_ColorSet.m_colors[CR_CHARTDOWN]);
    dc.SetTextColor(m_ColorSet.m_colors[CR_CHARTDOWN]);
    rc.top = rc.top + size.cy;
    dc.TextOut(rc.left, rc.top, strCaption );
    size = dc.GetTextExtent(strCaption);
    if (rc.left + size.cx > max_right) max_right = rc.left + size.cx;

    // #define CR_CHARTGRID        13    // 图表框线
    strCaption.Format("13,图表框线 %s=%ul", "m_ColorSet.m_colors[CR_CHARTGRID]",m_ColorSet.m_colors[CR_CHARTGRID]);
    dc.SetTextColor(m_ColorSet.m_colors[CR_CHARTGRID]);
    rc.top = rc.top + size.cy;
    dc.TextOut(rc.left, rc.top, strCaption );
    size = dc.GetTextExtent(strCaption);
    if (rc.left + size.cx > max_right) max_right = rc.left + size.cx;

    // #define CR_CHARTAXISTEXT    14    // 图表坐标文本
    strCaption.Format("14,图表坐标文本 %s=%ul", "m_ColorSet.m_colors[CR_CHARTAXISTEXT]",m_ColorSet.m_colors[CR_CHARTAXISTEXT]);
    dc.SetTextColor(m_ColorSet.m_colors[CR_CHARTAXISTEXT]);
    rc.top = rc.top + size.cy;
    dc.TextOut(rc.left, rc.top, strCaption );
    size = dc.GetTextExtent(strCaption);
    if (rc.left + size.cx > max_right) max_right = rc.left + size.cx;

    // #define CR_VOLUME            15    // 数量
    strCaption.Format("15,数量 %s=%ul", "m_ColorSet.m_colors[CR_VOLUME]",m_ColorSet.m_colors[CR_VOLUME]);
    dc.SetTextColor(m_ColorSet.m_colors[CR_VOLUME]);
    rc.top = rc.top + size.cy;
    dc.TextOut(rc.left, rc.top, strCaption );
    size = dc.GetTextExtent(strCaption);
    if (rc.left + size.cx > max_right) max_right = rc.left + size.cx;

    // #define CR_TEXT            16    // 普通文本
    strCaption.Format("16,普通文本 %s=%ul", "m_ColorSet.m_colors[CR_TEXT]",m_ColorSet.m_colors[CR_TEXT]);
    dc.SetTextColor(m_ColorSet.m_colors[CR_TEXT]);
    rc.top = rc.top + size.cy;
    dc.TextOut(rc.left, rc.top, strCaption );
    size = dc.GetTextExtent(strCaption);
    if (rc.left + size.cx > max_right) max_right = rc.left + size.cx;

    // #define CR_CHARTDESCRIP    17    // 描述文字
    strCaption.Format("17,描述文字 %s=%ul", "m_ColorSet.m_colors[CR_CHARTDESCRIP]",m_ColorSet.m_colors[CR_CHARTDESCRIP]);
    dc.SetTextColor(m_ColorSet.m_colors[CR_CHARTDESCRIP]);
    rc.top = rc.top + size.cy;
    dc.TextOut(rc.left, rc.top, strCaption );
    size = dc.GetTextExtent(strCaption);
    if (rc.left + size.cx > max_right) max_right = rc.left + size.cx;

    // #define CR_TOOL            18    // 工具
    strCaption.Format("18,工具 %s=%ul", "m_ColorSet.m_colors[CR_TOOL]",m_ColorSet.m_colors[CR_TOOL]);
    dc.SetTextColor(m_ColorSet.m_colors[CR_TOOL]);
    rc.top = rc.top + size.cy;
    dc.TextOut(rc.left, rc.top, strCaption );
    size = dc.GetTextExtent(strCaption);
    if (rc.left + size.cx > max_right) max_right = rc.left + size.cx;

    // #define CR_CHARTIND1        19    // 图表指标1
    strCaption.Format("19,图表指标1 %s=%ul", "m_ColorSet.m_colors[CR_CHARTIND1]",m_ColorSet.m_colors[CR_CHARTIND1]);
    dc.SetTextColor(m_ColorSet.m_colors[CR_CHARTIND1]);
    rc.top = rc.top + size.cy;
    dc.TextOut(rc.left, rc.top, strCaption );
    size = dc.GetTextExtent(strCaption);
    if (rc.left + size.cx > max_right) max_right = rc.left + size.cx;

    // #define CR_CHARTIND2        20    // 图表指标2
    strCaption.Format("20,图表指标2 %s=%ul", "m_ColorSet.m_colors[CR_CHARTIND2]",m_ColorSet.m_colors[CR_CHARTIND2]);
    dc.SetTextColor(m_ColorSet.m_colors[CR_CHARTIND2]);
    rc.top = rc.top + size.cy;
    dc.TextOut(rc.left, rc.top, strCaption );
    size = dc.GetTextExtent(strCaption);
    if (rc.left + size.cx > max_right) max_right = rc.left + size.cx;

    // #define CR_CHARTIND3        21    // 图表指标3
    strCaption.Format("21,图表指标3 %s=%ul", "m_ColorSet.m_colors[CR_CHARTIND3]",m_ColorSet.m_colors[CR_CHARTIND3]);
    dc.SetTextColor(m_ColorSet.m_colors[CR_CHARTIND3]);
    rc.top = rc.top + size.cy;
    dc.TextOut(rc.left, rc.top, strCaption );
    size = dc.GetTextExtent(strCaption);
    if (rc.left + size.cx > max_right) max_right = rc.left + size.cx;

    // #define CR_CHARTIND4        22    // 图表指标4
    strCaption.Format("22,图表指标4 %s=%ul", "m_ColorSet.m_colors[CR_CHARTIND4]",m_ColorSet.m_colors[CR_CHARTIND4]);
    dc.SetTextColor(m_ColorSet.m_colors[CR_CHARTIND4]);
    rc.top = rc.top + size.cy;
    dc.TextOut(rc.left, rc.top, strCaption );
    size = dc.GetTextExtent(strCaption);
    if (rc.left + size.cx > max_right) max_right = rc.left + size.cx;

    // #define CR_CHARTIND5        23    // 图表指标5
    strCaption.Format("23,图表指标5 %s=%ul", "m_ColorSet.m_colors[CR_CHARTIND5]",m_ColorSet.m_colors[CR_CHARTIND5]);
    dc.SetTextColor(m_ColorSet.m_colors[CR_CHARTIND5]);
    rc.top = rc.top + size.cy;
    dc.TextOut(rc.left, rc.top, strCaption );
    size = dc.GetTextExtent(strCaption);
    if (rc.left + size.cx > max_right) max_right = rc.left + size.cx;

    // #define CR_CHARTIND6        24    // 图表指标6
    strCaption.Format("24,图表指标6 %s=%ul", "m_ColorSet.m_colors[CR_CHARTIND6]",m_ColorSet.m_colors[CR_CHARTIND6]);
    dc.SetTextColor(m_ColorSet.m_colors[CR_CHARTIND6]);
    rc.top = rc.top + size.cy;
    dc.TextOut(rc.left, rc.top, strCaption );
    size = dc.GetTextExtent(strCaption);
    if (rc.left + size.cx > max_right) max_right = rc.left + size.cx;

    // #define CR_TabBack         25  // UI
    strCaption.Format("25,UI %s=%ul", "m_ColorSet.m_colors[CR_TabBack]",m_ColorSet.m_colors[CR_TabBack]);
    dc.SetTextColor(m_ColorSet.m_colors[CR_TabBack]);
    rc.top = rc.top + size.cy;
    dc.TextOut(rc.left, rc.top, strCaption );
    size = dc.GetTextExtent(strCaption);
    if (rc.left + size.cx > max_right) max_right = rc.left + size.cx;

    // #define CR_FrameText       26  //UI文字
    strCaption.Format("26,UI文字 %s=%ul", "m_ColorSet.m_colors[CR_FrameText]",m_ColorSet.m_colors[CR_FrameText]);
    dc.SetTextColor(m_ColorSet.m_colors[CR_FrameText]);
    rc.top = rc.top + size.cy;
    dc.TextOut(rc.left, rc.top, strCaption );
    size = dc.GetTextExtent(strCaption);
    if (rc.left + size.cx > max_right) max_right = rc.left + size.cx;
    
    
    offcy = 3 * CR_FrameText; // 5

    rc_windows.right = rc_windows.left + max_right + offcx;
    rc_windows.bottom = rc_windows.top + rc.top + size.cy + offcy;

    MoveWindow(rc_windows); 

}


// assist end //辅助(assist) 结束
 

// file ---------------------------------------------------------------------------------------------------------------

color.ini

[COLORSET]
CURSEL=15
COUNT=18
COLORNAMEEN0=Customized
COLORNAMEGB0=自定义
COLORNAMEBIG0=Customized
COLORCOLOR0=1E1E1EFFFBF0D4383BB9B9B91E1E1E37373CD4383BB9B9B944444AED4E467CE31EFFFFFF7CE31E37373C5858589F9F9FFFF850FFFBF0FF0000FF0000F7F50200FF000000FFFF00FF3A6EA52C2C30858585

COLORNAMEEN1=COLOR 1
COLORNAMEGB1=红加绿减(黑1)
COLORNAMEBIG1=COLOR 1
COLORCOLOR1=000000FFFFFFEFA20CFFFFFF000000141414FFA00EFFFBF03D4354FF000045FF5F7F7F7F45FF5F2D2D2DFFFFFFEFA20CD8920BFFFFFFFFFFFFFFFFFFFFFF0000FF00FF00FFBFBFBF00FFFF2C2C30858585

COLORNAMEEN2=COLOR 2
COLORNAMEGB2=红加绿减(白1)
COLORNAMEBIG2=COLOR 2
COLORCOLOR2=FFFFFF3D4354FF00003D4354FFFFFFF3F3F3FF00003D4354E3E300FF530000BB003D435400BB00FFA87DFF53003D43540000003D4354FF5300000084FF00FF8080807F0000007F0000FFFFEEEEEE646464
 

详细相关源代码如下链接:

https://download.csdn.net/download/hixi2007/87906622

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/646613.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

卖课软文怎么写,揭秘知识付费软文写作技巧

随着互联网的发展,知识付费已经成为了一种趋势。越来越多的人开始关注自我提升和职业发展,而知识付费也成为了他们获取知识和技能的重要途径。在这个背景下,卖课软文也成为了知识付费领域一种重要的推广方式。本文伯乐网络传媒将为大家揭秘卖…

hadoop本地化windows部署

文章目录 前言1. hadoop on windows1.1 安装jdk1.2 安装hadoop1.2.1 解压1.2.2 备用目录1.2.3 修改配置1.2.4 安装winutils-master1.2.5 格式化namenode1.2.6 启动hadoop1.2.7 web-ui登陆hadoop hdfs 2. spark on windows2.1 安装scala2.2 安装spark2.2.1 解压2.2.2 环境变量2.…

2年点工月薪10k,自学自动化年薪突破30W

我是农村出生的家庭,经济并不富裕,一个人奔波在大城市,总是很自卑。那段时间父亲身体不好,家里打电话说要花很多钱,于是我辞掉了一个月薪7k的功能测试,去了一个电子厂,每天加班加满月薪也能拿到…

【SpringCloud-3】Hystrix熔断器

通常情况下,一个请求可能会调用很多个服务。 如果下游某个服务异常,不能正常返回结果,导致上游所有服务等待,最终可能导致大量服务资源耗尽,造成雪崩。 说简单点,撸代码时,一定要保护好自己的服…

【vue3】vue3组件通信方式

一、props 可以实现父子组件通信&#xff0c;子组件通过defineProps获取父组件传递的数据&#xff0c;且在子组件内部不需要引入defineProps方法就可以直接使用&#xff01; 1、父组件给子组件传递数据 <Child hobby"学习" :money"money"></Chil…

Sui Builder House首尔站精彩集锦

6月3–4日&#xff0c;超过400人参加了Sui Builder House首尔站活动&#xff0c;近距离地了解了Sui网络的最新情况和路线图中提供的相关计划。作为主网推出后的第一个Builder House活动&#xff0c;参与者在现场体验了Sui的实现。 此次活动在首尔江南区举行&#xff0c;共设有…

分享一个玉质按钮

先看效果&#xff1a; 再看代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><style>* {-webkit-box-sizing: border-box;-moz-box-sizing: border-box;bo…

SpringBoot用线程池ThreadPoolExecutor处理百万级数据

SpringBoot用线程池ThreadPoolExecutor处理百万级数据 更多优秀文章&#xff0c;请扫码关注个人微信公众号或搜索“程序猿小杨”添加。 一、背景&#xff1a; 使用JDK线程池ThreadPoolExecutor多线程异步执行批量插入、更新等操作方法&#xff0c;提高百万级数据插入效率。 二…

Paper: Attention Is All You Need

目录 Abstract1 Introduction2 Background3 Model Architecture3.1 Encoder and Decoder Stacks3.2 Attention3.2.1 Scaled Dot-Product Attention3.2.2 Multi-Head Attention3.2.3 Applications of Attention in our Model 3.3 Position-wise Feed-Forward Networks3.4 Embedd…

4.4网络模型 4.5协议 4.6网络通信的过程

4.4网络模型 OSI七层参考模型 七层模型&#xff0c;亦称 OSI&#xff08;Open System Interconnection&#xff09;参考模型&#xff0c;即开放式系统互联。参考模型是国际标准化组织&#xff08;ISO&#xff09;制定的一个用于计算机或通信系统间互联的标准体系&#xff0c;…

DDR-SDRAM技术原理总结

DDR SDRAM 全称&#xff1a; Double Date Rate Synchronous Dynamic Random Access Memory 先说RAM&#xff08;Random Access Memory&#xff09;&#xff0c;字面意思&#xff1a;随机访问存储器&#xff0c;其特点是可任意访问一个内存地址&#xff0c;其访问时间是一样的&…

怎样在前端项目中使用MySQL模块操作数据库?

要想在项目中操作数据库&#xff0c; 首先要安装操作 MySQL 数据库的第三方模块(mysql)&#xff0c; 借助mysql 模块连接到 MySQL 数据库&#xff0c; 执行 SQL 语句&#xff0c;具体的流程如下图所示。 安装与配置 mysql 模块 安装 mysql 模块 mysql 模块是托管于 npm 上的第…

继承—JavaSE

文章目录 1.基础知识1.1继承的概念1.2语法 2子类对从父类继承下来的成员的访问2.1对成员变量的访问2.2对成员方法的访问 3.super关键字3.1访问父类的成员变量&#xff08;super.变量&#xff09;3.2访问父类的成员方法&#xff08;super.方法&#xff09;3.3调用父类的构造方法…

手把手教学Android游戏--轮船大战小游戏(文末有代码)

目录 1.1课程设计的目的 1.2本选题的内容要求 1.3 软件开发运行环境 2.1设计思路 2.2软件总体结构图 2.3主要功能模块的设计 3.1 开始界面模块 3.1.1进入游戏设计 3.1.2退出游戏设计 3.1.3开始界面主要代码 3.2 游戏主界面显示模块 3.2.1游戏界面设计 3.2.2游戏界面鱼雷、炸弹、…

【C++---面向对象预备】

C---面向对象预备 一 、内存的分区&#xff1a;1.1 代码区&#xff1a;1.2 全局区&#xff1a;1.3 栈区&#xff1a;1.4 堆区&#xff1a; 二 、引用&#xff1a;2.1、引用注意事项&#xff1a;2.2、引用作函数参数&#xff1a;2.3、引用作函数的返回值&#xff1a;2.4、引用的…

explain | 索引优化的这把绝世好剑,你真的会用吗?

对于互联网公司来说&#xff0c;随着用户量和数据量的不断增加&#xff0c;慢查询是无法避免的问题。 一般情况下如果出现慢查询&#xff0c;意味着接口响应慢、接口超时等问题&#xff0c;如果是高并发的场景&#xff0c;可能会出现数据库连接被占满的情况&#xff0c;直接导…

MAC电脑设置权限

​​​​​​​ click on your background to go to finderclick on go and go to folder /usrright click on local and do get infounlock the lock at the bottomclick sign and add your user to the list and give read/write privilegesclick on the gear sign at the …

Java Map 所有的值转为String类型

可以使用 Java 8 中的 Map.replaceAll() 方法将所有的值转为 String 类型&#xff1a; Map<String, Object> map new HashMap<>(); // 添加一些键值对 map.put("key1", 123); map.put("key2", true); map.put("key3", new Date())…

Android Studio入门

首先确保系统已经安装好JDK和Android SDK Android SDK的安装有两种方案 方案一&#xff1a;直接下载包安装 官网下载 国内下载 方案二&#xff1a;使用命令行工具进行安装 在Android Studio官网下载Command line tools 最新&#xff1a;如果使用 Android Studio&#xff0c;…

特征维度降维算法——平均影响值算法(MIV)免费MATLAB代码获取,西储大学数据为例

1. 原理概述 众所周知&#xff0c;常用的特征维度降维方法有主成分分析&#xff0c;因子分析法&#xff0c;平均值影响法。而平均影响值算法&#xff08;MIV&#xff09;是神经网络对输入变量进行降维的最好方法之一。 在神经网络模型实际应用中&#xff0c;由于没有明确的…