3_2、MFC常用控件用法:组合框、滚动条和图片控件
MFC控件用法
- 1、组合框
- 1.1 简介
- 1.2 创建
- CComboBox类的主要成员函数
- 1.3 实例
- 2、滚动条控件
- 2.1 简介
- 2.2 创建
- CScrollBar类的主要成员函数
- 2.3 实例
- 3、图片控件
- 3.1 简介
- 3.2 创建
- 图片控件静态加载图片
- 图片控件动态加载图片
1、组合框
1.1 简介
组合框其实就是把一个编辑框和一个列表框组合到了一起,分为三种:简易(Simple)组合框、下拉式(Dropdown)组合框和下拉列表式(Drop List)组合框。
- 简易组合框中的列表框是一直显示的;
- 下拉式组合框默认不显示列表框,只有在点击了编辑框右侧的下拉箭头才会弹出列表框;
- 下拉列表式组合框的编辑框是不能编辑的,只能由用户在下拉列表框中选择了某项后,在编辑框中显示其文本。.
常用的当属下拉式组合框和下拉列表式组合框了,它们在很多时候能使程序看起来更专业,更简洁,让用户在进行选择操作时更方便。
组合框被操作时会向父窗口发送通知消息,这些通知消息及其含义如下:
通知消息 | 含义 |
---|---|
CBN_CLOSEUP | 组合框的列表框组件被关闭,简易组合框不会发送该通知消息 |
CBN_DBLCLK | 用户在某列表项上双击鼠标,只有简易组合框才会发送该通知消息 |
CBN_DROPDOWN | 组合框的列表框组件下拉,简易式组合框不会发送该通知消息 |
CBN_EDITUPDATE | 在编辑框准备显示改变了的正文时发送该消息,下拉列表式组合框不会发送该消息 |
CBN_EDITCHANGE | 编辑框的内容被用户改变了,与CBN_EDITUPDATE不同,该消息是在编辑框显示的正文被刷新后才发出的,下拉列表式组合框不会发送该消息 |
CBN_ERRSPACE | 组合框无法申请足够的内存来容纳列表项 |
CBN_SELENDCANCEL | 表明用户的选择应该取消,当用户在列表框中选择了一项,然后又在组合框控件外单击鼠标时就会导致该消息的发送 |
CBN_SELENDOK | 用户选择了一项,然后按了回车键或单击了下滚箭头,该消息表明用户确认了自己所作的选择 |
CBN_KILLFOCUS | 组合框失去了输入焦点 |
CBN_SELCHANGE | 用户通过单击或移动箭头键改变了列表的选择 |
CBN_SETFOCUS | 组合框获得了输入焦点 |
1.2 创建
MFC将组合框控件的所有操作都封装到了CComboBox类中。
创建有两种方式:
- 往对话框模板中拖入Combo Box控件,而后添加CComboBox类型的控件变量使用。
- 在程序中动态创建,使用CComboBox类的成员函数Create。Create函数的原型如下:
virtual BOOL Create(DWORD dwStyle,const RECT& rect,CWnd* pParentWnd,UINT nID
);
- CComboBox类的Create成员函数同大多数控件类的Create成员函数非常类似,dwStyle指定组合框控件的风格,rect为列表框弹出后组合框的位置和尺寸,pParentWnd是指向父窗口的指针,不能为NULL,nID指定组合框控件的ID。
- 组合框控件的风格包括以下几种:
控件风格 | 含义 |
---|---|
CBS_AUTOHSCROLL | 使编辑框组件具有水平滚动的风格 |
CBS_DISABLENOSCROLL | 使列表框在不需要滚动时显示一个禁止的垂直滚动条 |
CBS_DROPDOWN | 指定一个下拉式组合框 |
CBS_DROPDOWNLIST | 指定一个下拉列表式组合框 |
CBS_HASSTRINGS | 指定一个含有字符串的自绘式组合框 |
CBS_LOWERCASE | 将编辑框和列表框中的所有文本都自动转换为小写字符 |
CBS_NOINTEGRALHEIGHT | 组合框的尺寸由应用程序而不是Windows 指定,通常,由Windows指定尺寸会使列表项的某些部分隐藏起来 |
CBS_OEMCONVERT | 使编辑框组件中的正文可以在ANSI 字符集和OEM字符集之间相互转换。这在编辑框中包含文件名时是很有用的 |
CBS_OWNERDRAWFIXED | 指定自绘式组合框,即由父窗口负责绘制列表框的内容,并且列表项有相同的高度 |
CBS_OWNERDRAWVARIABLE | 指定自绘式组合框,并且列表项有不同的高度 |
CBS_SIIMPLE | 指定一个简易组合框 |
CBS_SORT | 自动对列表框组件中的项进行排序 |
CBS_UPPERCASE | 将编辑框和列表框中的所有文本都自动转换为大写字符 |
dwStyle参数可以是以上风格的组合。跟其他控件一样,创建时一般也还要指定WS_CHILD、WS_VISIBLE、WS_TABSTOP和WS_VSCROLL等风格。
CComboBox类的主要成员函数
因为组合框是由编辑框和列表框组合而成的,所以组合框的操作和编辑框与列表框的操作有很多相似之处,同样的,CComboBox类的成员函数也和CEdit类与CListBox类的成员函数有很多相似之处,不但功能相似,甚至函数名和参数也很相似。
- int GetCount( ) const;
获取组合框控件的列表框中列表项的数量。 - int GetCurSel( ) const;
获取组合框控件的列表框中选中项的索引,如果没有选中任何项,该函数返回CB_ERR。 - int SetCurSel(int nSelect);
在组合框控件的列表框中选择某项。nSelect参数指定了要选择的列表项的索引,如果为-1则列表框中当前选择项被取消选中,编辑框也被清空。 - DWORD GetEditSel( ) const;
获取组合框控件的编辑框中当前选择范围的起始和终止字符的位置。该函数返回一个32位数,低16位存放起始位置,高16位存放选择范围后第一个非选择字符的位置。如果该函数用于下拉列表式组合框时,会返回CB_ERR。 - BOOL SetEditSel(int nStartChar,int nEndChar);
用于在组合框控件的编辑框中选择字符。nStartChar参数指定起始位置,nEndChar参数指定终止位置。 - DWORD_PTR GetItemData(int nIndex) const;
获取组合框中指定项所关联的32位数据。nIndex参数指定组合框控件的列表框某项的索引(从0开始)。 - int SetItemData(int nIndex,DWORD_PTR dwItemData);
为某个指定的组合框列表项设置一个关联的32位数。nIndex参数指定要进行设置的列表项索引。dwItemData参数指定要关联的新值。 - void GetLBText(int nIndex,CString& rString) const;
从组合框控件的列表框中获取某项的字符串。nIndex参数指定要获取字符串的列表项的索引,CString参数用于接收取到的字符串。 - int GetLBTextLen(int nIndex) const;
获取组合框控件的列表框中某项的字符串长度。nIndex参数指定要获取字符串长度的列表项的索引。 - int GetTopIndex( ) const;
获取组合框控件的列表框中第一个可见项的索引。 - int SetTopIndex(int nIndex);
将组合框控件的列表框中某个指定项设置为可见的。nIndex参数指定了该列表项的索引。该函数成功则返回0,有错误发生则返回CB_ERR。 - BOOL LimitText(int nMaxChars);
用于限制用户在组合框控件的编辑框中能够输入的最大字节长度。nMaxChars参数指定了用户能够输入文字的最大字节长度,如果为0则长度被限制为65535个字节。 - int AddString(LPCTSTR lpszString);
为组合框控件中的列表框添加新的列表项。lpszString参数是指向要添加的字符串的指针。该函数的返回值如果大于等于0,那么它就是新列表项的索引,而如果有错误发生则会返回CB_ERR,如果没有足够的内存存放新字符串则返回CB_ERRSPACE。 - int DeleteString(UINT nIndex);
删除组合框中某指定位置的列表项。nIndex参数指定了要删除的列表项的索引。该函数的返回值如果大于等于0,那么它就是组合框中剩余列表项的数量。如果nIndex指定的索引超出了列表项的数量则返回CB_ERR。 - int FindString(int nStartAfter,LPCTSTR lpszString) const;
在组合框控件的列表框中查找但不选中第一个包含指定前缀的列表项。nStartAfter参数指定了第一个要查找的列表项之前的那个列表项的索引。lpszString指向包含要查找的前缀的字符串。该函数的返回值如果大于等于0,那么它是匹配列表项的索引,如果查找失败则返回CB_ERR。 - int InsertString(int nIndex,LPCTSTR lpszString);
向组合框控件的列表框中插入一个列表项。nIndex参数指定了要插入列表项的位置,lpszString参数则指定了要插入的字符串。该函数返回字符串被插入的位置,如果有错误发生则会返回CB_ERR,如果没有足够的内存存放新字符串则返回CB_ERRSPACE。 - int SelectString(int nStartAfter,LPCTSTR lpszString);
在组合框控件的列表框中查找一个字符串,如果查找到则选中它,并将其显示到编辑框中。参数同FindString。如果字符串被查找到则返回此列表项的索引,如果查找失败则返回CB_ERR,并且当前选择项不改变。
1.3 实例
步骤:
- 创建控件,创建控件变量;
- 在OnInitDialog函数中进行控件的初始化;
m_comFood.AddString(_T("蔬菜"));m_comFood.AddString(_T("水果"));m_comFood.InsertString(1,_T("肉类"));m_comFood.SetCurSel(0);
- 在对话框类的成员函数中对控件相关的消息相应进行处理。生成组合框控件的相关消息相应函数。针对CBN_SELCHANGE通知消息生成消息相应函数,在函数体中操作:
CString strFood;int nSel;nSel = m_comFood.GetCurSel();m_comFood.GetLBText(nSel, strFood);SetDlgItemText(IDC_EDT_COM, strFood);
2、滚动条控件
2.1 简介
滚动条分为水平滚动条(Horizontal Scroll Bar)和垂直滚动条(Vertical Scroll Bar)两种。滚动条中有一个滚动块,用于标识滚动条当前滚动的位置。我们可以拖动滚动块,也可以用鼠标点击滚动条某一位置使滚动块移动。
从滚动条的创建形式来分,有标准滚动条和滚动条控件两种。像列表框和组合框设置了WS_HSCROLL 或WS_VSCROLL风格以后出现的滚动条,不是一个独立的窗口,而是这些窗口的一部分,这就是标准滚动条。而滚动条控件是一个独立的窗口,它可以获得焦点,响应某些操作。
2.2 创建
MFC也为滚动条控件的操作提供了类,即为CScrollBar类。
创建有两种方式:
- 一种是直接在Toolbox中将滚动条控件拖入对话框模板,然后添加控件变量使用。
- 用CScrollBar类的Create成员函数动态创建。 CScrollBar类的成员函数Create的函数原型如下:
virtual BOOL Create(DWORD dwStyle,const RECT& rect,CWnd* pParentWnd,UINT nID
);
- 此函数与其他控件类的Create函数原型基本相同。参数dwStyle指定滚动条控件的风格,rect指定滚动条控件的位置和尺寸,pParentWnd为指向滚动条控件父窗口的指针,nID指定滚动条控件的ID。
控件风格 | 含义 |
---|---|
SBS_HORZ | 指定滚动条为水平滚动条。如果没有指定SBS_BOTTOMALIGN或SBS_TOPALIGN风格,则滚动条的高度、宽度和位置由Create函数的rect参数给出。 |
SBS_VERT | 指定滚动条为垂直滚动条。如果没有指定SBS_RIGHTALIGN或SBS_LEFTALIGN风格,则滚动条的高度、宽度和位置由Create函数的rect参数给出。 |
SBS_TOPALIGN | 与SBS_HORZ配合使用。滚动条的上边缘与Create函数的rect参数指定矩形的上边缘对齐。滚动条高度为系统滚动条的默认高度。 |
SBS_BOTTOMALIGN | 与SBS_HORZ配合使用。滚动条的下边缘与Create函数的rect参数指定矩形的下边缘对齐。滚动条高度为系统滚动条的默认高度。 |
SBS_LEFTALIGN | 与SBS_VERT配合使用。滚动条的左边缘与Create函数的rect参数指定矩形的左边缘对齐。滚动条宽度为系统滚动条的默认宽度。 |
SBS_RIGHTALIGN | 与SBS_VERT配合使用。滚动条的右边缘与Create函数的rect参数指定矩形的右边缘对齐。滚动条宽度为系统滚动条的默认宽度。 |
CScrollBar类的主要成员函数
- BOOL GetScrollInfo(LPSCROLLINFO lpScrollInfo, UINT nMask = SIF_ALL);
获取的滚动条的参数信息,该信息为SCROLLINFO结构体的形式。参数lpScrollInfo为指向SCROLLINFO结构体变量的指针。
参数nMask 的含义与SCROLLINFO 结构体中的fMask一样。该函数在获取信息成功则返回TRUE,否则返回FALSE。SCROLLINFO结构体的定义如下:
typedef struct tagSCROLLINFO { UINT cbSize; // 结构的尺寸(字节为单位) UINT fMask; // 说明结构中的哪些参数是有效的,可以是屏蔽值的组合,如SIF_POS|SIF_PAGE,若为SIF_ALL则整个结构都有效 int nMin; // 滚动范围最小值,当fMask 中包含SIF_RANGE 时有效 int nMax; // 滚动范围最大值,当fMask 中包含SIF_RANGE 时有效 UINT nPage; // 页尺寸,用来确定比例滚动框的大小,当fMask中包含SIF_PAGE时有效 int nPos; // 滚动框的位置,当fMask 中包含SIF_POS 有效 int nTrackPos; // 滚动时滚动框的位置,当fMask 中包含SIF_TRACKPOS 时有效,该参数只能查询,不能设置,最好不要用该参数来查询拖动时滚动框的位置
} SCROLLINFO, *LPSCROLLINFO;
typedef SCROLLINFO CONST *LPCSCROLLINFO;
- BOOL SetScrollInfo(LPSCROLLINFO lpScrollInfo, BOOL bRedraw = TRUE);
用于设置滚动条的各种参数信息。参数lpScrollInfo为指向SCROLLINFO结构体变量的指针,参数bRedraw表示是否需要重绘滚动条,如果为TRUE,则重绘。该函数操作成功则返回TRUE,否则返回FALSE。 - int GetScrollPos( ) const;
获取滚动块的当前位置。如果失败则返回0。 - int SetScrollPos(int nPos, BOOL bRedraw = TRUE);
将滚动块移动到指定位置。参数nPos指定了滚动块的新位置,参数bRedraw 表示是否需要重绘滚动条,如果为TRUE,则重绘。函数返回滚动框原来的位置,若操作失败则返回0。 - void GetScrollRange(LPINT lpMinPos, LPINT lpMaxPos) const;
获取滚动条的滚动范围。参数lpMinPos指向滚动条滚动范围的最小值,参数lpMaxPos指向滚动条滚动范围的最大值。 - void SetScrollRange(int nMinPos, int nMaxPos, BOOL bRedraw = TRUE);
用于指定滚动条的滚动范围。参数nMinPos 和nMaxPos 分别指定了滚动范围的最小值和最大值,两者的差不得超过32767。当两者都为0 时,滚动条将被隐藏。参数bRedraw 表示是否需要重绘滚动条,如果为TRUE,则重绘。 - OnHScroll()与OnVScroll()函数
无论是标准滚动条,还是滚动条控件,滚动条的通知消息都是用WM_HSCROLL 和WM_VSCROLL消息发送出去的。对这两个消息的默认处理函数是CWnd::OnHScroll和CWnd::OnVScroll,一般需要在派生类中对这两个函数进行重载,以实现滚动功能。也就是说,假设在一个对话框中放入了一个水平滚动条,我们可以在对话框类中重载OnHScroll函数,并在OnHScroll函数中实现滚动功能。
afx_msg void OnHScroll(UINT nSBCode,UINT nPos,CScrollBar* pScrollBar);
afx_msg void OnVScroll(UINT nSBCode,UINT nPos,CScrollBar* pScrollBar);
- 参数nSBCode是通知消息码,主要通知码及含义的介绍下面已列出。nPos 是滚动框的位置,只有在nSBCode为SB_THUMBPOSITION或SB_THUMBTRACK时,该参数才有意义。如果通知消息是滚动条控件发来的,那么pScrollBar 是指向该控件的指针,如果是标准滚动条发来的,则pScrollBar 为NULL。
通知消息码 | 含义 |
---|---|
SB_BOTTOM/SB_RIGHT | 滚动到底端(右端) |
SB_TOP/SB_LEFT | 滚动到顶端(左端) |
SB_LINEDOWN/SB_LINERIGHT | 向下(向右)滚动一行(列) |
SB_LINEUP/SB_LINELEFT | 向上(向左)滚动一行(列) |
SB_PAGEDOWN/SB_PAGERIGHT | 向下(向右)滚动一页 |
SB_PAGEUP/SB_PAGELEFT | 向上(向左)滚动一页 |
SB_THUMBPOSITION | 滚动到指定位置 |
SB_THUMBTRACK | 滚动框被拖动。可利用该消息来跟踪对滚动框的拖动 |
SB_ENDSCROLL | 滚动结束 |
2.3 实例
步骤:
- 创建控件,创建控件变量;
- 在OnInitDialog函数中进行控件的初始化;
m_scrHBar.SetScrollRange(1,100);m_scrHBar.SetScrollPos(20);SetDlgItemInt(IDC_EDT_SCR, 20);
- 重载OnHScroll函数。具体操作为,属性页面的工具栏上点“Messages”按钮,找到WM_HSCROLL消息,添加响应函数就可以。
int pos = m_scrHBar.GetScrollPos(); // 获取水平滚动条当前位置 switch (nSBCode){// 如果向左滚动一列,则pos减1 case SB_LINELEFT:pos -= 1;break;// 如果向右滚动一列,则pos加1 case SB_LINERIGHT:pos += 1;break;// 如果向左滚动一页,则pos减10 case SB_PAGELEFT:pos -= 10;break;// 如果向右滚动一页,则pos加10 case SB_PAGERIGHT:pos += 10;break;// 如果滚动到最左端,则pos为1 case SB_LEFT:pos = 1;break;// 如果滚动到最右端,则pos为100 case SB_RIGHT:pos = 100;break;// 如果拖动滚动块滚动到指定位置,则pos赋值为nPos的值 case SB_THUMBPOSITION:pos = nPos;break;// 下面的m_horiScrollbar.SetScrollPos(pos);执行时会第二次进入此函数,最终确定滚动块位置,并且会直接到default分支,所以在此处设置编辑框中显示数值 default:SetDlgItemInt(IDC_EDT_SCR, pos);
3、图片控件
3.1 简介
图片控件和前面讲到的静态文本框都是静态文本控件,因此两者的使用方法有很多相同之处,所属类都是CStatic类。
3.2 创建
图片控件静态和动态加载位图图片。
图片控件静态加载图片
- 常见图片控件;
- 导入图片资源,放置在资源文件夹中;
- 在图片控件属性中选择类型为:bitmap,然后导入相关的位图文件即可。图片控件的类型有:
Frame:显示一个无填充的矩形框,边框颜色可以通过Color属性的下拉列表设定
Etched Horz:显示一条横分割线
Etched Vert:显示一条竖分割线
Rectangle:显示一个填充的矩形框,矩形颜色可通过Color属性的下拉列表设定
Icon:显示一个图标(Icon),图标通过Image 下拉列表来设置图标资源ID
Bitmap:显示一个位图(Bitmap),位图通过Image 下拉列表来设置位图资源ID
Enhanced Metafile:显示一个加强的元数据文件(Metafile)
Owner Draw:自绘
图片控件动态加载图片
- 将图片控件的ID进行修改为:IDC_STA_PIC,并添加图片控件变量;
- 加载位图资源并设置ID号;
- 函数操作添加图片位图资源:
CBitmap bitmap; // CBitmap对象,用于加载位图 HBITMAP hBmp; // 保存CBitmap加载的位图的句柄 bitmap.LoadBitmap(IDB_BMP_TEST); // 将位图IDB_BITMAP1加载到bitmap hBmp = (HBITMAP)bitmap.GetSafeHandle(); // 获取bitmap加载位图的句柄 m_staPic.SetBitmap(hBmp); // 设置图片控件m_jzmPicture的位图图片为IDB_BITMAP1
相关文章:
![](https://img-blog.csdnimg.cn/direct/20a16b7d2dde4fcdb43501b7d3b1d8bd.png)
3_2、MFC常用控件用法:组合框、滚动条和图片控件
MFC控件用法 1、组合框1.1 简介1.2 创建CComboBox类的主要成员函数 1.3 实例 2、滚动条控件2.1 简介2.2 创建CScrollBar类的主要成员函数 2.3 实例 3、图片控件3.1 简介3.2 创建图片控件静态加载图片图片控件动态加载图片 1、组合框 1.1 简介 组合框其实就是把一个编辑框和一…...
![](https://img-blog.csdnimg.cn/direct/e84214ebaee244b4af10b8e21d9b1bd6.png#pic_center)
如何使用gprof对程序进行性能分析
如何使用gprof对程序进行性能分析 目录 1 gprof概述 2 gprof原理简述 3 gprof使用 3.1 gprof使用简述 3.2 gprof使用示例 4 小结 1 gprof概述 gprof 是 一个 GNU 的程序性能分析工具,可以用于分析C\C程序的执行性能。gprof工具可以统计出各个函数的调用次数、执…...
![](https://img-blog.csdnimg.cn/direct/eae503a8baf84b6eab5aac5f8918dca3.jpeg)
四川汇聚荣科技有限公司靠谱吗?
在如今这个信息爆炸的时代,了解一家公司是否靠谱对于消费者和合作伙伴来说至关重要。四川汇聚荣科技有限公司作为一家位于中国西部地区的企业,自然也受到了人们的关注。那么,这家公司究竟如何呢?接下来,我们将从多个角度进行深入…...
![](https://img-blog.csdnimg.cn/img_convert/4be4d2d5d554d4fb991ea08cfd1cef18.png)
可灵王炸更新,图生视频、视频续写,最长可达3分钟!Runway 不香了 ...
现在视频大模型有多卷? Runway 刚在6月17号 发布Gen3 ,坐上王座没几天; 可灵就在6月21日中午,重新夺回了王座!发布了图生视频功能,视频续写功能! 一张图概括: 二师兄和团队老师第一…...
![](https://www.ngui.cc/images/no-images.jpg)
oracle中使用临时表GLOBAL TEMPORARY TABLE
需要在存储过程中返回一个临时结果集,这个结果集又是多个语句通过循环查询出来的,这时候就想到了将结果插入到临时表中,然后返回临时表的数据的思路,于是有了以下操作: 1.创建临时表 -- Create table create global …...
![](https://img-blog.csdnimg.cn/direct/6d84de0ec8b4498a8b3a756664126907.png)
Gradio入门—快速开始
目录 安装构建您的第一个演示分享您的演示核心 Gradio 课程聊天机器人gr.ChatInterface自定义演示gr.BlocksGradio Python 和 JavaScript 生态系统 Gradio 是一个开源 Python 软件包,可让您快速为机器学习模型、API 或任何任意 Python 函数构建演示或 Web 应用程序。…...
![](https://img-blog.csdnimg.cn/direct/1a700e77ee144fbe8f4e2c2925009b2a.png)
AOP应用之系统操作日志
本文演示下如何使用AOP,去实现系统操作日志功能。 实现步骤 引入AOP包 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId><version>2.6.6</version></de…...
![](https://img-blog.csdnimg.cn/direct/a2105adf64014709aa4eff1666406fbc.jpeg)
海外云手机自动化管理,高效省力解决方案
不论是企业还是个人,对于海外社媒的营销都是需要自动化管理的,因为自动化管理不仅省时省力,而且还节约成本; 海外云手机的自动化管理意味着什么?那就是企业无需再投入大量的人力和时间去逐一操作和监控每一台设备。 通…...
![](https://www.ngui.cc/images/no-images.jpg)
后仿真中的 《specify/endspecify block》之(5)使用specify进行时序仿真
前面我们学习了specify...endspecify 具体是什么东西。今天,我们使用specify block 中定义的延时,来进行一次仿真。看看到底是背后如何运转的呢。 一 基本例子 一个用 specify 指定延迟的与门逻辑描述如下: module and_gate(output Z,input A, B);assign Z = A & …...
![](https://img-blog.csdnimg.cn/direct/59e13e8f479f41508e7fa755a1667760.png)
win10/11磁盘管理
win10/11磁盘管理 合并磁盘分区的前提是你的两个磁盘区域是相邻的,比如如下: 如果需要吧这个磁盘进行分解,你可以选择压缩一部分磁盘或者是直接删除卷 我这里的话,因为压缩出来的卷和C盘好像是不相邻的(我之前做过&…...
![](https://www.ngui.cc/images/no-images.jpg)
【昇思初学入门】第四天打卡
数据变换Transforms 心得体会 MindSpore提供了丰富的数据变换工具,针对图像数据可以使用如Rescale、Normalize和HWC2CHW等,且使用Compose类允许我们定义一个变换序列,并将它们作为一个整体应用到数据上。 composed transforms.Compose([v…...
![](https://img-blog.csdnimg.cn/direct/65b9606a3ebc453ebc20f265ebca8195.png)
禁用/屏蔽 Chrome 默认快捷键
Chrome 有一些内置的快捷键,但是它并没有像其他软件一样提供管理快捷键的界面。在某些时候,当我们因为个人需求希望禁用 Chrome 某些快捷键时,又无从下手。 好在有开发者开发了 Chrome 插件,可以禁用 Chrome 快捷键的插件&#x…...
![](https://img-blog.csdnimg.cn/direct/a46a933590484ea380e28a3be618dc31.png)
移动端+PC端应用模式的智慧城管综合执法办案平台源码,案件在线办理、当事人信用管理、文书电子送达、沿街店铺分析
城市管理综合执法管理平台实现执法办案、业务全流程在线办理,依托移动端PC端的“两端”应用模式,保障能够通过信息化手段进行日常的执法办案工作,强化执法监督功能。提供了案件在线办理、当事人信用管理、文书电子送达、沿街店铺分析等功能&a…...
![](https://www.ngui.cc/images/no-images.jpg)
AI音乐大模型时代:版权归属与创意产业的新生长点
AI在创造还是毁掉音乐? 简介:最近一个月,轮番上线的音乐大模型,一举将素人生产音乐的门槛降到了最低,并掀起了音乐圈会不会被AI彻底颠覆的讨论。短暂的兴奋后,AI产品的版权归属于谁,创意产业要…...
![](https://www.ngui.cc/images/no-images.jpg)
C++函数作为参数
C++函数作为参数 在C++中,函数作为另一个函数的参数是非常常见的做法,特别是在处理回调函数和泛型编程时。我们展示了如何在C++中将函数作为参数传递给另一个函数,包括普通函数、std::function 和 std::bind、lambda表达式以及类成员函数。每种方法都有其独特的优势,可以根…...
![](https://img-blog.csdnimg.cn/direct/46bb936bb6b84561aa4770879788536a.png)
考前刷题练手感(北航期末往年数据结构编程题)
本次因为是考前一天极速刷题,所以没有讲解,若有问题可私信。 目录 一、 查找同时空人员二、 老鼠回家-无回路三、函数调⽤关系四、东二食堂模拟五、栈帧 一、 查找同时空人员 【问题描述】 假设一共有6个手机基站,都具有记录手机连接基站状…...
![](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fimg2.imgtp.com%2F2024%2F05%2F27%2FecnWy72K.jpg&pos_id=img-YcqVt17Y-1719021027420)
Android记录9--实现转盘效果
自定义View /2013.10.16_TurnPlate_Demo/src/com/wwj/turnplate/TurnPlateView.java package com.wwj.turnplate; import android.content.Context; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.BitmapFactory; im…...
![](https://img-blog.csdnimg.cn/direct/deed239f81d141e19072b41487e7c3d3.png)
【Oracle APEX开发小技巧1】转换类型实现显示小数点前的 0 以 及常见类型转换
在 apex 交互式式网格中,有一数值类型为 NUMBER,保留小数点后两位的项,在 展示时小数点前的 0 不显示。 效果如下: 转换前: m.WEIGHT_COEFFICIENT 解决方案: 将 NUMBER(20,2…...
![](https://img-blog.csdnimg.cn/direct/dd38097ae2974785b30836b84687fb98.png)
GRIT论文阅读笔记
一篇试图统一生成任务和编码任务的工作,就是把只能完成生成任务的GPT改成既能生成又能encode。思路其实很简单,就是在输入的时候添加instruction tokens来指引模型做representation还是generation,然后各自算损失。representation任务用的是d…...
![](https://img-blog.csdnimg.cn/direct/3ea7d14aa1a64d85a36313909e9a44b5.png)
1980python个性化电影推荐管理系统mysql数据库Django结构layUI布局elasticsearch存储计算机软件工程网页
一、源码特点 python Django个性化电影推荐管理系统是一套完善的web设计系统mysql数据库 利用elasticsearch存储浏览数据 ,对理解python编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 开发环境pycharm…...
![](https://img-blog.csdnimg.cn/direct/ca567b5cdc5e460a9165a9a1510de36d.png)
基于IDEA的Maven(依赖介绍和引用)
如何通过一个坐标信息(依赖)去引用 ,某个"jar 包" 会在这篇博客进行学习。 目录 一、学习开始 (0)项目的结构组成和 "pom.xml" 文件内容。 (1)首先需要一个标签…...
![](https://img-blog.csdnimg.cn/direct/2df5f7be13e448aaaab9ccfe2f8b97c2.png)
pytest测试框架pytest-sugar插件生成进度条
Pytest提供了丰富的插件来扩展其功能,介绍下插件pytest-sugar,可以帮助我们在控制台中显示彩色的测试结果和进度条,提供失败的堆栈回溯信息。 为了使用 pytest-sugar,需要满足以下条件: Python 3.8 或更高版本pytest…...
![](https://img-blog.csdnimg.cn/direct/1e735eee0f0c48e489a654b6990dce25.png)
若依框架集成微信支付
1. 添加微信支付相关依赖 <!-- 微信支付 --> <dependency><groupId>com.github.wxpay</groupId><artifactId>wxpay-sdk</artifactId><version>0.0.3</version> </dependency> <dependency><groupId>com.gi…...
![](https://img-blog.csdnimg.cn/direct/7d3394e6d4924a78b4fdf8443852ab75.png)
IOS开发学习日记(十七)
简单的第三方登录和分享功能 第三方登录系统 URL Scheme:App间的跳转及通信 App间跳转场景 登陆系统: 跨平台,跨App 标记用户,个性化的推送 使用第三方登录(减少注册成本 / 无须维护敏感信息) 微信 / Q…...
![](https://www.ngui.cc/images/no-images.jpg)
【ARMv8/ARMv9 硬件加速系列 2 -- ARM NEON 加速运算介绍】
文章目录 ARM NEONNEON 向量寄存器NEON 寄存器使用方式NEON 寄存器的视图NEON 寄存器别名NEON 寄存器的用途ARM NEON 在ARMv8架构中,引入了一组新的寄存器,称为向量寄存器(Vector Registers),用于支持高效的向量和浮点计算。这些寄存器是SIMD(Single Instruction, Multi…...
![](https://img-blog.csdnimg.cn/61328adbf29b41ac95fd469414f6b338.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA54Ot6KGA5p6r5Y-2,size_20,color_FFFFFF,t_70,g_se,x_16)
LayoutSystem布局系统
简介: LayoutSystem,是UGUI中由CanvasUpdateSystem发起(m_LayoutRebuildQueue中大部分都是LayoutRebuilder)的关于布局排列的处理系统。 类图: 布局过程 核心代码讲解: LayoutRebuilder...
![](https://img-blog.csdnimg.cn/direct/8c666d9d0a8e496fa57fa377ffdd13c8.png)
滚球游戏笔记
1、准备工作 (1) 创建地面:3D Object-Plane,命名为Ground (2) 创建小球:3D Object-sphere,命名为Player,PositionY 0.5。添加Rigidbody组件 (3) 创建文件夹:Create-Foder,分别命名为Material…...
![](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=.%2F..%2F.assert%2Fperformance_schema.data_locks.jpg&pos_id=img-3JrbI2Rq-1719053255904)
Mysql8死锁排查
Mysql8死锁排查 Mysql8 查询死锁的表 -- 查询死锁表select * from performance_schema.data_locks;-- 查询死锁等待时间select * from performance_schema.data_lock_waits;Mysql8之前的版本 查询死锁的表 -- 查询死锁表SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;-- 查询…...
![](https://img-blog.csdnimg.cn/direct/8af6cc53f0d041a78226fdae92a729ac.png)
程序猿成长之路之数据挖掘篇——决策树分类算法(1)——信息熵和信息增益
决策树不仅在人工智能领域发挥着他的作用,而且在数据挖掘中也在分类领域中独占鳌头。了解决策树的思想是学习数据挖掘中的分类算法的关键,也是学习分类算法的基础。 什么是决策树 用术语来说,决策树(Decision Tree)是…...
![](https://img-blog.csdnimg.cn/direct/f925d2a5fae240728ef5cfe4609738c2.png)
数据通信与网络(五)
交换机功能: 地址学习(端口/MAC地址映射表) 通信过滤(基于端口/MAC地址映射表) 生成树协议(断开环路) 隔离冲突域 生成树协议 隔离冲突域 交换机配置模式(用不同级别的命令对交换机进行配置) 普…...
网站建设平台哪家好/店铺推广渠道有哪些方式
tags : java-collections spliterator是java1.8引入的一种并行遍历的机制,Iterator提供也提供了对集合数据进行遍历的能力,但一个是顺序遍历,一个是并行遍历。 image 如上图所示,Arrays的分割迭代函数有2种形式,split…...
![](/images/no-images.jpg)
如何做静态页网站/技术优化seo
转自:https://www.pinlue.com/article/2019/12/2516/179857887645.html...
![](/images/no-images.jpg)
购物网站设计图/网络推广引流方式
像这样: // TODO refurl:http://blog.csdn.net/oracle_microsoft/article/details/1569080...
![](/images/no-images.jpg)
哪个小说网站版权做的好/官网建设
因为Bzoj是权限题,所以可以去清橙做一下 Sol 突然考了一道这样的题,考场上强行\(yy\)出来了win下评测Long double爆零TAT 首先肯定是破环为链变成序列问题辣 那么就要求第一个的颜色和最后的颜色不同 怎么统计,枚举前面有多长和右面有多长长度…...
![](/images/no-images.jpg)
国外真人做爰直播聊天平台网站/烟台seo网络推广
I enjoy listening to Code Radio while Im working. The music helps me focus and block out the noise of the surrounding office. 我在工作时喜欢听Code Radio 。 音乐可以帮助我集中注意力并阻挡周围办公室的噪音。 But when one of my co-workers interrupts my flow t…...
![](https://img-blog.csdnimg.cn/img_convert/35c63ea01c701e51ebdc148813319e59.png)
购物网站怎么做优化/做网页设计的软件
BOSS简历模板是一个非常好用的手机求职软件,用户们能够通过这款软件来为自己定制各种优势的简历,帮助用户们轻松找到更多适合自己的工作,这里的简历模板非常丰富,让用户们可以在这里获取更多优秀的简历,这样才能够更好…...