MFC控件使用说明_mfcgetcheck-程序员宅基地

技术标签: MFC  

VC++控件工具箱:


按钮(Button):用来接收用户的命令,应用程序在接收到用户命令后,通常需要进行一些后台工作。按钮可以响应单击或双击动作,在按钮接收到鼠标动作后,向其父窗口发送相应的控件通知,用户可以对这些控件通知进行消息映射,从而进行相应的处理。在一个对话框中,可以定义一个默认按钮,这只要选中按钮属性中的“Default”选项。如果在对话框活动的时候按下了Enter键,则等同于单击了默认按钮。MFC提供了CButton类支持按钮控件。

     

复选框(Check Box):用来显示某种可能的选择,该项选择是独立的,用户可以选中或取消该选项。在选项被选中的时候核选标记出现,选项被取消时核选标记消失。MFC中由CButton类对核选框进行支持,用户可以通过SetCheck()函数和GetCheck()函数设置或获取核选框当前的状态

 

BST_UNCHECKED==((CButton*)GetDlgItem(IDC_CHECK_RES1))->GetCheck()
((CButton*)GetDlgItem(IDC_CHECK_RES1))->SetCheck(true);		


 

编辑框(Edit Control):用来接收用户输入的字符串通过选择编辑框的选项,编辑框可以接收字符串、数字、密码等;编辑框还可以设置成接收多行字符串的模式;可以自动进行大小写转换。编辑框可能向其父窗口发送多种控件通知,如果用户需要,可以对这些控件通知进行处理。MFC提供了CEdit类支持编辑框控件

 
GetDlgItem(IDC_***)->SetWindowText(Cstring);

GetDlgItem(IDC_***)->GetWindowText(Cstring);

 

组合框(Combo Box)列表框和编辑框的组合,用户除了可以在列表中对已经存在的选项进行选择外,还可以输入新的选择。MFC提供了CComboBox类对组合框控件进行支持。

 

 

CComboBox * AAA = (CComboBox*)(GetDlgItem(IDC_***));

AAA->AddString(_T("***"));

AAA->SelectString(0, _T("***"));

AAA->SetCurSel(0);


int nSel = AAA->GetCurSel();

AAA->GetLBText(nSel, Cstring);

if(strType.Trim() == _T("***"))

列表框(List Box):用来选择一系列的可能选择,用户通过滚动条可以在这些选择中浏览。在列表框中,可以进行单项选择,也可以进行多项选择,这取决于用户在控件属性对话框中的设置。MFC提供了CListBox类对列表框控件进行支持。

 

组成框(Group Box):用来包围具有逻辑关系的一组控件,在这些控件的周围加上边界和标题。需注意的是,组成框仅仅是在视觉效果上对控件进行“成组”,真正的“成组”工作还需要另外一些工作。仅仅在视觉上展现出一组的逻辑关系,并不添加任何代码

 

单选按钮(Radio Button):用来选择某种可能的选择,与(Check Box)复选框不同,该选项不是独立的。一般是几个单选按钮组成一组同组中的单选按钮仅有一个按钮被选中MFC同样使用CButton类对单选按钮控件进行支持,SetCheck()函数和GetCheck()函数对单选按钮也是适用的。

 

静态文本(Static Text):用来在指定的位置显示特定的字符串一般用来标识附近另一个控件的内容。显示在静态文本控件中的字符串一般不再改变,但是在需要的时候,必须为其指定一个不同食物ID号,通过调用相应的函数来进行设置。MFC提供了CStatic类支持静态控件

 

10 图形控件(Picture Control):显示位图(Bitmap)和图标(Icon,图形绘制与显示,主要是其方形的区域适合显示,同样方形区域也可利用(Static Text)静态文本框.

 

 

11、12 滚动条(Scroll Bar):这包括水平滚动条和垂直滚动条,除了在视觉效果上的方向不同外,水平滚动条在被滚动时发生WM_HSCROLL消息,而垂直滚动条在被滚动时发送WM_VSCROLL消息MFC提供了CScrollBar进行支持

 

13 滑块控件(Slider Control):通常用来在程序中接受一系列离散的数值。用户可以设置滑块控件的取值范围,并可以为控件加上刻度标记以显示特定位置的含义。MFC提供了CSliderCtrl类进行支持

 

14 微调按钮(Spin Button):包括一对紧靠在一起的上下箭头,使用微调按钮可以增大或者缩小某个特定的数值。微调按钮往往都需要一个“伙伴”控件,这通常都是一个编辑框当微调按钮的向上箭头被单击时,编辑框中的数字就增大;反之则减小MFC提供了CPinButtonCtrl类进行支持

 

15 进度条(Progress Control):在进行一项需要占有较长时间的操作时来反应当前的进度。当操作的进度不断前进时,进度条就用特色颜色填充进度条框。用户可以设定进度条的范围和当前位置。MFC提供了CProgressCtrl类进行支持

 

CProgressCtrl* progressbar = (CProgressCtrl*)GetDlgItem(IDC_PROGRESS_1);

progressbar->SetRange(0, 4);

progressbar->SetPos(0);

 

16 热键控制(Hot Key):热键控件看起来就像一个编辑框,但是在热键控件中能够立刻反应用户刚刚按下的键组合,这在设置程序的热键时特别有用。热键控件只是在“视觉”上显示了按键组合,设置热键的工作还需要用户添加代码完成。MFC提供了CHotKey类进行支持

 

17 列表控制(List Control):如下图,按一定的排列顺序显示一系列带图标的字符串,列表控件提供了四种显示模式:大图标(Icon)、小图标(Small Icon)、列表(List)和报表(Report)。用户可以向列表控件中添加新的项,也可以控制列表控件的显示模式。MFC提供了CListCtrl类进行支持

初始化:

CRect rect;

m_ListCtrl.GetClientRect(&rect);

// 为列表视图控件添加全行选中和栅格风格

m_ListCtrl.SetExtendedStyle(m_ListCtrl.GetExtendedStyle() | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);


m_ListCtrl.InsertColumn(0, _T("序号"), LVCFMT_CENTER, 40, 0);

m_ListCtrl.InsertColumn(1, _T("时间"), LVCFMT_CENTER, 120, 1);

m_ListCtrl.InsertColumn(2, _T("类型"), LVCFMT_CENTER, 50, 2);


添加记录

 

 
struct INFO

{

int id;

CString time;

CString type;

}info;

CString id;

int nRow=0;

id.Format(_T("%d"), info.id);

m_ListCtrl.InsertItem(nRow,id);

m_ListCtrl.SetItemText(nRow, 1, info.time);

m_ListCtrl.SetItemText(nRow, 2, info.type);

nRow ++;

18 树形控件(Tree Control):如下图,用来显示一系列项目的层次关系最典型的例子是显示磁盘上的文件与文件夹。如果有子项目的话,单击树形控件中的项目可以展开或者收缩其子项目MFC提供了CTreeCtrl类进行支持

初始化

 
CDialog::OnInitDialog();

CTreeCtrl pTree;

pTree.ModifyStyle(NULL,TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT);

pTree.SetItemHeight(30);

pTree.SetBkColor(RGB(122,122,122));


TV_INSERTSTRUCT tvinsert; //创建待加入的TV_INSERTSTRUCT的结构

tvinsert.hParent=NULL; //无父节点

tvinsert.hInsertAfter=TVI_LAST; //插入到本层最后

tvinsert.item.mask=TVIF_IMAGE|TVIF_SELECTEDIMAGE|TVIF_TEXT; //掩码,图标、选选中图标、文字

tvinsert.item.hItem=NULL;//句柄为空

tvinsert.item.state=0; //状态

tvinsert.item.stateMask=0;//状态为掩码

tvinsert.item.cchTextMax=6;//最大文字长度

tvinsert.item.iSelectedImage=0;//选中图标索引

tvinsert.item.cChildren=0; //唯有子节点

HTREEITEM SysSet=pTree.InsertItem(_T("XNAME"));

pTree.SetItemData(SysSet,1);

HTREEITEM hChild = pTree.InsertItem(_T("name1"),SysSet);

pTree.SetItemData(hChild,11);

hChild = pTree.InsertItem(_T("name2"),SysSet);

pTree.SetItemData(hChild,12);

hChild = pTree.InsertItem(_T("name3"),SysSet);

pTree.Expand(SysSet,TVE_EXPAND); //展开系统设置根节点


HTREEITEM SysMaint=pTree.InsertItem(_T("YNAME"));

pTree.SetItemData(SysMaint,2);

m_1Dlg.Create(IDD_DIALOG_1,this);

m_2dlg.Create(IDD_DIALOG_2, this);

树节点切换



 
void CConfigDlg::OnTvnSelchangedTree(NMHDR *pNMHDR, LRESULT *pResult)

{

LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR);

// TODO: 在此添加控件通知处理程序代码

HTREEITEM hSelected=pNMTreeView->itemNew.hItem;

if(hSelected!=NULL)

{

pTree.SelectItem(hSelected);

int nDat = pTree.GetItemData(hSelected);


switch(nDat)

{

case 1:

/*MessageBox(_T("YNAME"));*/

if(m_pPreWnd)

m_pPreWnd->ShowWindow(SW_HIDE);


m_1Dlg.ShowWindow(SW_SHOW);

m_pPreWnd = &m_1Dlg;

break;

case 3:

/*MessageBox(_T("XNAME"));*/

if(m_pPreWnd)

m_pPreWnd->ShowWindow(SW_HIDE);


m_2Dlg.ShowWindow(SW_SHOW);

m_pPreWnd = &m_2Dlg;

break;


default:

break;

}

}

*pResult = 0;

}

改变位置



 
void CConfigDlg::OnSize(UINT nType, int cx, int cy)

{

CDialog::OnSize(nType, cx, cy);

// TODO: 在此处添加消息处理程序代码


CRect rcWnd;

GetClientRect(&rcWnd);


CRect rcChild = rcWnd;

rcChild.top = rcWnd.top+10;

rcChild.bottom -=10;

rcChild.left += 160;

rcChild.right -= 10;

CRect laneRect = rcChild;


if(::IsWindow(m_1Dlg))

m_1Dlg.MoveWindow(rcChild);


if(::IsWindow(m_2Dlg))

m_2Dlg.MoveWindow(rcChild);



if ( ::IsWindow( pTree.GetSafeHwnd() ) )

{

pTree.MoveWindow(rcWnd.left+10,rcWnd.top+30,130,350,1);

}

}


 

19 属性表控件(Tab Control):如下图,用来包含大量的控件,可以满足用户显示或者获取大量数据分类显示的要求,典型例子是Windows任务栏每个程序标签。每个属性表又分为好几个属性页,这些属性页由各自的标签进行区分,这些属性页中都可以包容其他控件。在显示属性表的时候,一次只能够显示一个属性页的全部内容,同时显示其他属性页的标签,用户通过单击标签打开相应的属性页。MFC提供了CTabCtrl类进行支持

初始化绑定变量



 
m_tab_Light.DeleteAllItems();

m_LightParkingDlg.DestroyWindow();

m_LightStatusDlg.DestroyWindow();

m_tab_Light.InsertItem(0, _T("0001")); // 插入第一个标签

m_tab_Light.InsertItem(1, _T("0002")); // 插入第二个标签


CRect tabRect; // 标签控件客户区的位置和大小

m_tab_Light.GetClientRect(&tabRect); // 获取标签控件客户区Rect

// 调整tabRect,使其覆盖范围适合放置标签页

tabRect.left += 2;

tabRect.right -= 1;

tabRect.top += 21;

tabRect.bottom -= 2;

m_LightParkingDlg.Create(IDD_DIALOG_LIGHT_PARKING, &m_tab_Light); // 创建第一个标签页

m_LightStatusDlg.Create(IDD_DIALOG_LIGHT_STATUS, &m_tab_Light); // 创建第二个标签页

//m_LightParkingDlg.InitData();

m_LightParkingDlg.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(),SWP_SHOWWINDOW);

控件页面切换



 
CRect tabRect; // 标签控件客户区的位置和大小

m_tab_Light.GetClientRect(&tabRect); // 获取标签控件客户区Rect

// 调整tabRect,使其覆盖范围适合放置标签页

tabRect.left += 2;

tabRect.right -= 1;

tabRect.top += 21;

tabRect.bottom -= 2;

switch (m_tab_Light.GetCurSel())

{


case 0:

m_LightStatusDlg.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW);

m_LightParkingDlg.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_SHOWWINDOW);

break;

case 1:

m_LightParkingDlg.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW);

m_LightStatusDlg.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_SHOWWINDOW);

break;


}

20 动画控件(Animation):用来播放一段AVI格式的视频剪辑。用户可以控制视频剪辑的播放、停止和定位,但也仅限于这些功能。动画控件设置不能播放音频剪辑,如果用户需要更高层次的视频或者音频的支持,请选用MCIWnd控件MFC提供了CAnimateCtrl类对动画控件进行支持

 

21 高级编辑框(Rich Edit):编辑控件(Edit Control)功能的扩展。在高级编辑框中,除了简单的输入和编辑字符串外,用户还可以为字符或段落指定特定的格式,用户甚至还可以向高级编辑框中插入OLE项。高级编辑框基本上实现了一个带格式的文本编辑器功能,而只需要用户添加少量的接口。MFC提供了CRichEditCtrl类进行支持

 

22 日期/时间选择器(Date Time Picker):如下图,向用户提供了一种直观的选择日期和时间的方法、日期/时间选择器在外观上类似于一个组合框,但是当用户单击下拉箭头时就会展开一个日历控件供用户选择,而一旦用户做出了选择,日期/时间选择器会自动显示新的日期/时间。MFC提供了CDateTimeCtrl类进行支持。



 
SYSTEMTIME times_1; //开始时间日期

SYSTEMTIME timee_1; //结束时间日期


CDateTimeCtrl* dtPickctrs_1 = (CDateTimeCtrl*)GetDlgItem(IDC_DATETIMEPICKER_START1); //获取时间控件句柄

CDateTimeCtrl* dtPickctre_1 = (CDateTimeCtrl*)GetDlgItem(IDC_DATETIMEPICKER_END1);


memset(×_1,0,sizeof(times_1)); //时钟初始化

memset(&timee_1,0,sizeof(timee_1));


dtPickctrs_1->GetTime(×_1); //获取控件所选时间,保存至变量

dtPickctre_1->GetTime(&timee_1);



CString strTimeStart; //将时间转换为字符串

strTimeStart.Format(_T("%04d-%02d-%02d %02d:%02d:%02d"), times_1.wYear,times_1.wMonth,times_1.wDay,times_2.wHour,times_2.wMinute,times_2.wSecond);

CString strTimeEnd;

strTimeEnd.Format(_T("%04d-%02d-%02d %02d:%02d:%02d"), timee_1.wYear,timee_1.wMonth,timee_1.wDay,timee_2.wHour,timee_2.wMinute,timee_2.wSecond);


获取系统时间



 
SYSTEMTIME time;

::GetLocalTime(&time);


 

23 日历控件(Month Calender):如下图,看似与真正的日历类似,操作也类似,直观的为用户提供了观察和显示当前日期的途径。MFC提供了CMonthCalCtrl类进行支持

24 IP地址控件(IP Adress):IP地址控件用来输入和编辑IP地址。该控件外观类似于一个编辑框,但是可以自动对输入的字符按3个一组进行区分和加间隔圆点。IP地址控件为开发支持Internet技术的程序提供了方便。MFC提供了CIPAddressCtrl类进行支持

 

25 扩展组合框(Extended Combo Box):在普通组合框(Combo Box)的基础上还支持图像列表。即,可以在组合框中显示特定的图标表示相应的选择,而不仅仅是显示文本。MFC提供了CComboBoxEx类进行支持

 

26 用户自定义控件(Custom Control) : 控件使用的时候,它的Class必须有一个类的支持这个窗口类可以VC的类,例如:Button、Edit.在头文件增加一个CEdit类的成员变量:CEdit m_Text(即点击右键添加变量),然后按照Edit控件使用即可。

 

 

27 超链接控件(SysLink Control ):

1.用于在 MFC 应用程序上添加超链接,就像html中的超链接一样.你点下可以链接到一个网页上去。拖控件到页面上,并绑定一个变量(m_linkCtrl),里面的内容全部是按照标准的html中href的用法写的。写错了自然链接不了的.可以去瞧下html里面的href属性是怎/么设置的.另外要注意的是字符串中双引号的处理(记得加个转义符\),添加单击响应消息

 

m_linkCtrl.SetWindowTextW(_T("<a href=\"http://blog.csdn.net/miko_xiaoming\">Miko's Note</a>"));

PNMLINK pNMLink = (PNMLINK) pNMHDR;

ShellExecuteW(NULL, L"open", pNMLink->item.szUrl, NULL, NULL, SW_SHOWNORMAL); //在浏览器中打开

2.同按钮(Button)控件一样,响应相应的消息                                  

 

27 多按钮组合控件(Split Button Control ):如下图,实现多选按钮选择功能,使用时添加相应菜单

 

 

28 网络IP地址输入输出控件(Network Address Control):可以直接作为inet_addr(ip)的输入,分隔符为逗号(,)

 

29 指令按钮控件(command button control):不仅可以为按钮添加相应命令还可以对命令做出注解

 

所有控件的公共属性:

ID:控件的资源标识。

Visiable:控件是否可见。

Disabled:控件是否被禁止、被禁止的控件无法接受键盘和鼠标输入。

Group:是否从这个空间开始一个新组。

Tab stop:在程序中是否可以用【Tab】键切换到这个控件。

Help ID:是否给控件分配一个帮助标识,帮助标识基于控件本身的资源标识。

Client edge:给控件增加一个凹陷的边界,使整个控件看起来像是凹下去的一样。

Static edge:给控件增加一个边界。

Modal frame:给控件增加一个3维的框架,与Client edge相反,它是凸出来的。

Transparent:拥有此属性的窗口是透明的,它下面的窗口不会被它遮掩住。

Accept files:拥有此属性的窗口可以接收拖放文件,如果一个文件被拖动到这个控件上面,控件会收到WM_DROPFILES消息。

No parent notify:表示控件不向其父窗口发送WM_PARENTNOTIFY消息。

Right aligned text:表示文本右对齐。

以上属性可通过控件的属性对话框进行设置,在属性对话框中按【F1】键可以查看属性的帮助信息。

 

每一种控件都由一个MFC控件类来管理,当通过资源编辑器在对话框上添加一个控件时,visualC++会自动为控件类生成一个实例,即对象,并调用构造函数,当对话框关闭时,其各个子控件对象被自动销毁。

也可以不使用资源编辑器,自己在程序中写代码创建、显示控件并设置控件的属性。

所有的控件类都继承自CWnd,控件的某些操作和属性设置需要用到CWnd本身的成员函数,CWnd某些函数经常用来操纵控件和设置控件属性。

SetWindowText:设置控件上要显示的标题文本,即用来设置控件的caption属性

GetWindowText:得到控件的标题文本

EnableWindow:设置控件的Disabled属性,即社会自控件是否可以接收键盘和鼠标的输入

SetWindowPos:改变窗口的大小、位置和Z轴次序。

MoveWindow:改变窗口的大小和位置

GetWindowRec:得到窗口的大小、位置(信息存放在一个矩形结构中)。

GetClientRect:得到窗口客户区的大小(信息存放在一个矩形结构中 )

ShowWindow:设置窗口的可见性(即窗口是否可见)

SetWindowText/GetWindowText还可以用来设置/得到对话框的标题文本。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/noricky/article/details/82491420

智能推荐

洗礼灵魂,修炼python(71)--爬虫篇—【转载】xpath/lxml模块,爬虫精髓讲解-程序员宅基地

文章浏览阅读57次。Xpath,lxml模块用法转载的原因和前面的一样,我写的没别人写的好,所以我也不浪费时间了,直接转载这位崔庆才大佬的原帖链接:传送门以下为转载内容:---------------------------------------------------------------------------------------------------------------..._洗礼灵魂,修炼python 爬虫 71

《20个月赚130亿-YouTube创始人陈士骏自传》- 简评-程序员宅基地

文章浏览阅读3.2k次。一个早上读完了《20个月赚130亿-YouTube创始人陈士骏自传》这本书。这本书的书名实在是太俗了,公开场合下还真不太好意思给别人看到这本书的书名,太露骨了。要不是有人推荐,还以为又是成功学之类的书,不过书的内容还不错,详细讲述了Youtube创始人陈士俊的创业史,文笔也算流畅。看完书后,第一感觉就是这家伙怎么这么很幸运,连作者本人在书中多次提到自己的幸运。陈士俊大学没毕业就加入了当时还在初创期

人脸识别:vs2019+opencv3.4.0+opencv_contrib-3.4.0+CMake3.17配置教程-程序员宅基地

文章浏览阅读1.1k次,点赞2次,收藏6次。先下载软件,我用的是vs2019+opencv3.4.0+opencv_contrib-3.4.0+CMake3.17,win10,64位系统,下面附上软件的网盘链接:vs2019:链接:https://pan.baidu.com/s/1d6qHzOe9hp-wCg90t7-HQg提取码:hw16安装方法:https://blog.csdn.net/qq_36556893/article/details/88603729注意:如果想用C++写程序的安装的时候一定把所有有关C++的程序都下载下来,要不_vs2019+opencv3.4.0

windows 卸载所有驱动_100_加密软件导致vGPU驱动升级失败的案例-程序员宅基地

文章浏览阅读240次。合作伙伴的工程师反馈某用户把vGPU环境从Grid4.x升级到9.x以后(升级方法是先现在老的版本驱动,然后安装新的430版本驱动),升级结束后发现NVIDIA控制面板报错如下图所示:此时观察Windows设备管理器的vGPU设备报告黄色叹号,此时初步判断是驱动没有正常加载导致。于是尝试在Windows内尝试手动加载驱动,结果手动加载执行完了以后vGPU设备消失了。如下图所示:变成了标准..._亿赛通新版本驱动安装,更新失败

linux tail 查看日志(匹配时间段、关键字)_tail 怎么查询过滤时间-程序员宅基地

文章浏览阅读2.1w次,点赞7次,收藏38次。对于IT人员来说查日志是算是日常工作了,不管是开发还是测试都会涉及到查看日志,定位问题缺陷的所在。所以这里作者收集了一部分查看日志的命令以及解释:常用命令:tail -f xxx.log ----实时刷新最新日志tail -100f xxx.log --------实时刷新最新的100行日志tail -100f xxx.log | grep [关键字..._tail 怎么查询过滤时间

ArrayList 的扩容机制_arraylist阈值-程序员宅基地

文章浏览阅读688次。前言ArrayList 底层是基于数组实现的,不过得益于其扩容机制,它可以看作是一个动态的数组,弥补了数组长度是定长的缺陷。在往 ArrayList 里添加元素时,如果添加完元素之后,元素的总个数大于当前数组的容量,会执行扩容,这个扩容的过程可以归纳为以下两个步骤:确定新数组的容量将老数组内的元素拷贝到新数组中去确定新数组的容量这一步是本文重点,接下来我们一起来看一下。 ..._arraylist阈值

随便推点

centos7.5 解决缺少libstdc++.so.6库的原因及解决办法-程序员宅基地

文章浏览阅读987次。centos7.5 解决缺少libstdc++.so.6库的原因及解决办法执行node -v报错如下:[root@bogon ~]# node -vnode: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or d..._yum install libstdc++6 no package libstdc++6 available

线性表的应用_比较线性表a和线性表b大小-程序员宅基地

文章浏览阅读176次。线性表的应用线性表的合并问题描述:假设利用两个线性表LaL_aLa​和LbL_bLb​分别表示两个集合AAA和BBB,现要求一个新集合A=A∪BA=A∪BA=A∪BLa=(7,5,3,11)L_a=(7,5,3,11)La​=(7,5,3,11) Lb=(2,6,5)L_b=(2,6,5)Lb​=(2,6,5) −>->−> La=(7,5,3,11,2,6)L_a=(7,5,3,11,2,6)La​=(7,5,3,11,2,6)算法步骤依次取出LbL_bLb​中的_比较线性表a和线性表b大小

vue使用全景图(krpano)_vue全景图-程序员宅基地

文章浏览阅读3k次,点赞4次,收藏11次。关于网上很少有使用krpano在vue的方法,这里我们会介绍基础的方法和一些配置。(因为自己使用的是破解版,不进行软件的分享,只进行技术分享,博主也仅用作自己实验用途)首先我们需要准备一张图片,然后拖入krpano中的bat:他就会自动转换出一个对应的文件tour,大致配置如下:然后我们在vue项目中创建一个static文件下,再创建一个krpano文件夹专门用于存放我们转换出来的文件:在vue的index.html下引入:(在这里引入主要是为了子页面的embedpano方法)在子页面_vue全景图

ubuntu安装gef,pwndbg,peda_ubuntu如何安装peda-程序员宅基地

文章浏览阅读1.7k次。gdb,pwndbg,peda,gef的安装_ubuntu如何安装peda

php安全配置记录和常见错误梳理-程序员宅基地

文章浏览阅读94次。通常部署完php环境后会进行一些安全设置,除了熟悉各种php漏洞外,还可以通过配置php.ini来加固PHP的运行环境,PHP官方也曾经多次修改php.ini的默认设置。下面对php.ini中一些安全相关参数的配置进行说明12345678910111213141516171819202122..._php error: failed to prepare the stderr pipe: too many open files

基于SSM实现的网上订餐系统【附源码】(毕设)_ssm订餐管理系统-程序员宅基地

文章浏览阅读7.7k次,点赞8次,收藏85次。一、项目简介本项目是一套基于SSM实现的**网上订餐系统 或 在线点餐系统 或 外卖点餐系统 **,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。详细介绍了网上订餐系统的实现,包括:1.项目介绍2.环境搭建3.系统功能4.技术实现5.项目运行6.功能演示以通俗易懂的方式,手把手的带你从零开始部署并运行本套系统,该项目附带全部源码可作为毕设使用。课程包含:项目源码、项目文档、数据库脚本、软件工具等所有资料带你从零开始部署运行本套系统该项目附带的源码资料_ssm订餐管理系统

推荐文章

热门文章

相关标签