MFC中listctrl控件中的横向滚动条怎样去掉? 5C

注意:只去掉横向滚动条,(report类型的列表控件)
试了网上的大部分方法,
1、要么在控件属性中关闭滚动条显示,但是这样会将横向竖向滚动条都去掉;
2、要么是在代码中进行修改
例如:
InitializeFlatSB(this->m_hWnd);

FlatSB_EnableScrollBar(this->m_hWnd, SB_BOTH, ESB_DISABLE_BOTH); 等等;
但是均不起效。
有没有遇到同样问题的?请大神给予亲测可行的解决办法!

2个回答

可以在合适的地方(比如对话框的OnInitialDialog)加入以下代码:
其中m_list是对话框的listctrl控件变量名

LONG mListStyle = ::GetWindowLong(m_List.GetSafeHwnd(), GWL_STYLE);
if ( mListStyle & WS_HSCROLL )
{
    Style &= ~WS_HSCROLL;  //去掉横向滚动条
    ::SetWindowLong(m_list.GetSafeHwnd(),GWL_STYLE,mListStyle);
}

如果对您有帮助,请采纳答案好吗,谢谢!

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
怎么用c语言实现mfc的listctrl控件?
怎么用c语言实现mfc的listctrl控件? 最好有代码 谢谢
mfc操作listctrl控件效率问题
比方说win7的任务管理器,在排序的时候刷新起来非常快,是怎么实现的,我用listctrl明显慢很多
MFC listCtrl控件做的缩略图,如何确定鼠标选中项
想做到双击某一个缩略图的时候能够知道选中的是哪个,然后根据所选项载入路径重绘张大图
mfc中如何在tab标签页下添加listctrl控件?
如题,我先主界面添加了一个tab控件,然后在子界面里加listctrl控件。我在子界面的类下添加两个函数一个是调整列表大小样式,另一个负责往里面加数据。但请问从哪里调用这两个函数呢?如果从主界面的OnInitDialog()里调用的话会报错![图片说明](https://img-ask.csdn.net/upload/201607/21/1469099038_180843.jpg)(ps:因为我们老师说这个函数是在界面创建前就调用的所以可以在里面调用其他函数)。如果在子界面里添加这个OnInitDialog()虚函数的话会提示ocx属性页返回值为false无法是用函数。除此之外我就不知道了。请问有没有其它方法能够使该这个listctrl控件在tab标签页下显示呢?谢谢了
MFC Tab控件下的page与page的控件冲突
我在MFC下做了4个对话框,其中一个是主对话框,内有一个Tab控件,然后剩下的三个对话框作为子对话框,也就是tab控件的三个page。 我在第一个page(子对话框)中添加了一些控件,如listctrl控件,同时关联了变量。 程序运行没有问题。 接着我在其他两个page(子对话框)中添加了相同的控件,同时关联了变量,接下来就是令我不解的地方,程序崩溃了。我什么都没做,只是关联了一下控件变量,不知道为什么程序会崩溃。 在线等,求大神指导,或者大家讨论一下也好,先谢谢啦!
MFC中ListCtrl中数据导出到Word文档中?
在写一个基于当文档的MFC小程序,其中需要将ListCtrl中的数据导出并生成.doc文档,不知如何操作,学习VC时间不长,求大仙帮忙。
急急急!MFC自绘ListCtrl控件后不能insertitem,只要插入行执行就报错
下面是我参考的博客上自绘的控件http://blog.csdn.net/candcplusplus/article/details/9005697 然后下面是我在我的OnInitDialog()函数中添加的代码 m_List.ModifyStyle( 0, LVS_REPORT ); // 报表模式 m_List.SetExtendedStyle(m_List.GetExtendedStyle() | LVS_EX_GRIDLINES ); CRect rect; m_List.GetClientRect(rect); //获得当前客户区信息 m_List.InsertColumn(0,"端口号"); //插入列 m_List.InsertColumn(1,"IP"); m_List.InsertColumn(2,"choose"); m_List.SetColumnWidth(0, rect.Width() / 3); //设置列的宽度。 m_List.SetColumnWidth(1, rect.Width() / 3); m_List.SetColumnWidth(2, rect.Width() / 3); int row=14; m_List.SetRowHeight(rect.Height()/row); m_List.InsertItem(0,"11");//插入行 m_List.SetItemText(0,1,"好棒哦"); m_List.SetWindowPos(&wndBottom ,0,0,rect.Width(),rect.Height(),SWP_NOSIZE); 执行之后出来这个 ![图片说明](https://img-ask.csdn.net/upload/201801/18/1516275163_672856.png) 本人编程小白,捣鼓了很久还没捣鼓出来,求csdn大神们相助!
MFC 写的继承控件类,如何应用到控件
MFC ListCtrl控件类不能编辑,所以我写了一个继承CListCtrl的类,但是不知道怎么用到控件上,急急急,或者有可以编辑的CListCtrl控件demo也可以
MFC 重写ListCtrl添加含SpinControl的子项
我想重写表格控件以实现某一列可以添加Spin控件来增减数额,不用实现可编辑功能,在一般的实现方法中都是拖动控件得到ID后通过DDX_Control绑定, ![图片说明](https://img-ask.csdn.net/upload/201907/25/1564018435_626603.png) 但我想在ListCtrl中实现它的话就无法得到控件ID,不知道该怎么实现这个绑定过程了,能给我提供一些思路吗?万分感谢!
mfc客户区中listctrl刷新数据时数据行数与滚动条位置不符
我在mfc里加了个listctrl,用来加载进程信息,信息太多然后自动出现滚动条。 ``` m_ProcessList.LockWindowUpdate(); m_ProcessList.SetRedraw(false); m_ProcessList.DeleteAllItems(); ``` //进程信息结构体 PROCESSENTRY32 process; //返回当前进程快照句柄 HANDLE hProcess = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); //访问快照中的第一个进程 PROCESS_MEMORY_COUNTERS pmc; HANDLE process1; long unsigned int maxMem = 0; long unsigned int curMem = 0; CString name,strID,strfID,strTred,strMem; int i=0; process.dwSize = sizeof(process); BOOL bMore = Process32First(hProcess,&process); while(bMore) { bMore = Process32Next(hProcess,&process); maxMem = 0; curMem = 0; //打开指定ID的进程,返回进程的句柄 process1 = OpenProcess(PROCESS_QUERY_INFORMATION|PROCESS_VM_READ,FALSE,process.th32ProcessID); if(GetProcessMemoryInfo(process1,&pmc,sizeof(pmc))) { //最大内存使用量 maxMem = pmc.PeakWorkingSetSize/1024; //当前内存使用量 curMem = pmc.WorkingSetSize/1024; } name = process.szExeFile; //文件名 //将double型改成cstring strID.Format(L"%5u",process.th32ProcessID); //进程ID strfID.Format(L"%u",process.th32ParentProcessID); //父进程ID strTred.Format(L"%u",process.cntThreads); //线程数 if( curMem >= 0 && curMem <= 1024 ) strMem.Format(L"%dKB",curMem); //内存数 else { curMem = curMem/1024; strMem.Format( L"%dMB", curMem ); } m_ProcessList.InsertItem(i,name); m_ProcessList.SetItemText(i,1,strID); m_ProcessList.SetItemText(i,2,strTred); m_ProcessList.SetItemText(i,3,strfID); m_ProcessList.SetItemText(i,4,strMem); i++; CloseHandle(process1); } CloseHandle(hProcess); m_ProcessList.SetRedraw(true); //m_ProcessList.RedrawWindow( NULL, NULL, RDW_NOFRAME && RDW_VALIDATE ); m_ProcessList.UnlockWindowUpdate(); ``` 这里用这个函数将数据填入listctrl,然后我设了个settimer, 回调函数ontimer每次都回调这个函数以达到刷新数据的要求。为了避免滚动条被一起delete掉,我特意在ontimer里加了 ``` int pos = m_ProcessList.GetScrollPos( 1 ); m_ProcessList.SetScrollPos( 1, pos ); ``` 来保证能使滚动条不位移,这时问题来了![图片说明](https://img-ask.csdn.net/upload/201608/30/1472563505_268366.jpg) ![图片说明](https://img-ask.csdn.net/upload/201608/30/1472563514_95489.jpg) 我拖动滚动条到下面,过了取好的时间间隔后,滚动条的位置是没有动,但重新刷新的数据直接填充到了滚动条显示的客户区内,以至于上面出现空白。有什么方法能够让数据从真正的第一行(客户区以外)填充起嘛?或者说让数据与滚动条位置绑定?
关于MFC的ListCtrl的问题
``` SHGetFileInfo(L"E:\\Program Files\\Tencent\QQ\\Bin\\QQ.exe", FILE_ATTRIBUTE_NORMAL, &shfi, sizeof(SHFILEINFO), SHGFI_SMALLICON | SHGFI_ICON); ..... ```
ListCtrl的滚动条失效,xp系统下
拖动对话框时,当拖动到只能看到对话框的部分后,再拖动对话框至完全能够看到后,用鼠标拖动ListCtrl的滚动轮时,轮滚动无效,不会滚动;求各位给出个招。
MFC 怎么实现上传文件在listctrl上显示
通过点击按钮,打开文件对话框。将要上传的文件上传并显示在Listctrl控件上。
ListCtrl控件为什么一次只能添加一个文件,而不能同时添加多个?
我用C++写的一个MFC基本对话框里引入了一个listctrl控件,但是添加文件的时候一次只能添加一个文件,求大神开导,这是为什么? 代码如下:(在初始化函数中) m_control=static_cast<CWMPControls>(m_player.GetControls()); m_setting=m_player.GetSettings(); m_list=static_cast<CWMPPlaylist>(m_player.GetCurrentPlaylist()); m_media=static_cast<CWMPMedia>(m_player.GetCurrentMedia()); 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,2*rect.Width()/4,0); m_listCtrl.InsertColumn(1,_T("格式"),LVCFMT_CENTER,rect.Width()/4,1); m_listCtrl.InsertColumn(2,_T("时长"),LVCFMT_CENTER,rect.Width()/4,2); m_listCtrl.InsertColumn(3,NULL,LVCFMT_CENTER,0,3); m_listCtrl.InsertColumn(4,NULL,LVCFMT_CENTER,0,4); 在文件插入函数中: m_listCtrl.SetFocus(); // CString str; POSITION pos; pos = m_listCtrl.GetFirstSelectedItemPosition(); IndexInFieldList = m_listCtrl.GetNextSelectedItem(pos); m_listCtrl.SetItemState(IndexInFieldList, ~LVIS_SELECTED, LVIS_SELECTED); TCHAR szFilter[] = _T( "avi FILE(*.avi)|*.avi|" "mp2 FILE(*.mp2)|*.mp2|" "mp3 FILE(*.mp3)|*.mp3|" "mp4 FILE(*.mp4)|*.mp4|" "mpeg FILE(*.mpeg)|*.mpeg|" "mpg FILE(*.mpg)|*.mpg|" "mpga FILE(*.mpga)|*.mpga|" "wave FILE(*.wav)|*.wav|" "movie FILE(*.mov)|*.mov|" "mid FILE(*.mid;*.rmi)|*.mid;*.rmi|" "wma FILE(*.wma)|*.wma|" "wax FILE(*.wax)|*.wax|" "wmv FILE(*.wmv)|*.wmv|" "wav FILE(*.wav)|*.wav|" "rmvb FILE(*.rmvb)|*.rmvb|" "asf FILE(*.asf)|*.asf|" "所有文件(*.*)|*.*|";); CFileDialog fileDlg(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter, this); CString strFilePath; if (IDOK == fileDlg.DoModal()) { strFilePath = fileDlg.GetPathName(); strFilePath.MakeUpper(); m_player.SetUrl(strFilePath); m_media = static_cast<CWMPMedia>(m_player.newMedia(strFilePath)); m_list.appendItem(m_media); m_listCtrl.InsertItem(0, m_media.GetName()); m_listCtrl.SetItemText(0, 1, _T(m_media.getItemInfo("FileType"))); m_listCtrl.SetItemText(0, 2, _T(m_media.GetDurationString())); m_listCtrl.SetItemText(0, 3, _T(strFilePath)); m_listCtrl.SetItemText(0, 4, _T(m_media.getItemInfo("Duration"))); m_player.SetUrl(m_listCtrl.GetItemText(0, 3)); m_listCtrl.SetItemState(0, LVIS_SELECTED, LVIS_SELECTED); }
CEdit控件Focus时的Pretranslatemessage消息为什么只能在窗口中定义才有效
大家好,请问我在一个对话框中创建了一个listctrl控件,然后在listctrl中创建了一个edit子控件,现在想要在listctrl的Pretranslatemessage()中添加对edit控件中的键盘方向键响应,但是相应代码只能添加在dialog中才有效,而定义在Listctrl控件中却无法得到响应,请问这是为什么?谢谢大家了~~ Ps:上述情况指的是在Edit控件Focus的状态下。
VS2017 MFC 如何调用其他类的ListCtrl信息?
因工作需要自学MFC,目前我在A类里建了一个ListCtrl控件,创建控件变量为m_ListCtrl,然后我需要在B类里获取这个控件的信息。第一次我想在B类里创建个实例对象,但是取不到信息。第二次想将m_ListCtrl这个变量作为参数传到B类,但是提示:“无法引用 函数 "CListCtrl::CListCtrl(const CListCtrl &)" (已隐式声明) -- 它是已删除的函数”。第三次我想在A类将控件里的内容放到CStringList里,但是返回值还是提示已被删除。看网上说用什么引用,但是没太搞懂。所以写了这段 ``` CStringList* CStuInfoManag::GetListInfo() { int iColumnNum, iRowCount, i, j; CString strText; CStringList cList; cList.RemoveAll(); cList. iColumnNum = m_ListCtrl.GetHeaderCtrl()->GetItemCount(); iRowCount = m_ListCtrl.GetItemCount(); for (i = 0; i < iColumnNum; i++) { for (j = 0; j < iRowCount; j++) { strText = m_ListCtrl.GetItemText(j,i); cList.AddTail(strText); } } return &cList; } ``` 这样提示错误为:class "CStringList" 没有成员 "iColumnNum"。 以上是我的尝试方法,我该如何在B类里取得A类ListCtrl的信息?
MFC 怎么打开listctrl item上的文件
急急急!!!!通过双击listctrl上的文件名item,实现将相应的文件打开。谢谢大神们啦
vs2010 mfc 关于listctrl表格report行颜色重绘后清除重绘后的颜色
下面是重绘listcontrol行颜色, 然后用 m_List.SetItemData(n, COLOR_GREEN);改写某行颜色, 如何方面的把之前所有修改过的行颜色恢复默认,zui'hao所有行都恢复默认? ``` void CMyCKTXDlg::OnNMCustomdrawListctrl(NMHDR *pNMHDR, LRESULT *pResult) { LPNMTVCUSTOMDRAW pNMCD = reinterpret_cast<LPNMTVCUSTOMDRAW>(pNMHDR); // TODO: 在此添加控件通知处理程序代码 NMCUSTOMDRAW nmCustomDraw = pNMCD->nmcd; switch(nmCustomDraw.dwDrawStage) { case CDDS_ITEMPREPAINT: { if (COLOR_YELLOW == nmCustomDraw.lItemlParam) { pNMCD->clrTextBk = RGB(155, 155, 0); pNMCD->clrText = RGB(255, 255, 255); } else if (COLOR_GREEN == nmCustomDraw.lItemlParam) { pNMCD->clrTextBk = RGB(0, 250, 0); //背景颜色 pNMCD->clrText = RGB(255, 255, 255); //文字颜色 } else if (COLOR_DEFAULT == nmCustomDraw.lItemlParam) { pNMCD->clrTextBk = RGB(255, 255, 255); pNMCD->clrText = RGB(0, 0, 0); } else { pNMCD->clrTextBk = RGB(255, 255, 255); pNMCD->clrText = RGB(0, 0, 0); } break; } default: { break; } } *pResult = 0; *pResult |= CDRF_NOTIFYPOSTPAINT; //必须有,不然就没有效果 *pResult |= CDRF_NOTIFYITEMDRAW; //必须有,不然就没有效果 return; } ```
MFC列表控件中删除记录的问题
要实现点击按钮后删除列表中的一条记录 代码如下: void CMyAccountView::OnClickedDelete() { int nCurSel = m_listctrl.GetSelectionMark(); if (LB_ERR == nCurSel) MessageBox(_T("请选择所要删除的内容!")); else m_pSet->MoveFirst(); for(int i=0;i<nCurSel;i++) m_pSet->MoveNext(); m_pSet->Delete(); m_pSet->Requery(); OnInitialUpdate(); } 试过用DeleteItem函数,但是结果是单击按钮以后什么都没发生……………… 调试时能够正常运行,但是点击删除按钮时删除的是表中的最后一条记录而非选中的记录 觉得多半是循环结构的问题 但是不大想得通 求指教 谢谢
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
有哪些让程序员受益终生的建议
从业五年多,辗转两个大厂,出过书,创过业,从技术小白成长为基层管理,联合几个业内大牛回答下这个问题,希望能帮到大家,记得帮我点赞哦。 敲黑板!!!读了这篇文章,你将知道如何才能进大厂,如何实现财务自由,如何在工作中游刃有余,这篇文章很长,但绝对是精品,记得帮我点赞哦!!!! 一腔肺腑之言,能看进去多少,就看你自己了!!! 目录: 在校生篇: 为什么要尽量进大厂? 如何选择语言及方...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小型人工智障。 知识可以运用在不同地方,不一定非是天气预报。
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
英特尔不为人知的 B 面
从 PC 时代至今,众人只知在 CPU、GPU、XPU、制程、工艺等战场中,英特尔在与同行硬件芯片制造商们的竞争中杀出重围,且在不断的成长进化中,成为全球知名的半导体公司。殊不知,在「刚硬」的背后,英特尔「柔性」的软件早已经做到了全方位的支持与支撑,并持续发挥独特的生态价值,推动产业合作共赢。 而对于这一不知人知的 B 面,很多人将其称之为英特尔隐形的翅膀,虽低调,但是影响力却不容小觑。 那么,在...
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看...
白话阿里巴巴Java开发手册高级篇
不久前,阿里巴巴发布了《阿里巴巴Java开发手册》,总结了阿里巴巴内部实际项目开发过程中开发人员应该遵守的研发流程规范,这些流程规范在一定程度上能够保证最终的项目交付质量,通过在时间中总结模式,并推广给广大开发人员,来避免研发人员在实践中容易犯的错误,确保最终在大规模协作的项目中达成既定目标。 无独有偶,笔者去年在公司里负责升级和制定研发流程、设计模板、设计标准、代码标准等规范,并在实际工作中进行...
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
redis分布式锁,面试官请随便问,我都会
文章有点长并且绕,先来个图片缓冲下! 前言 现在的业务场景越来越复杂,使用的架构也就越来越复杂,分布式、高并发已经是业务要求的常态。像腾讯系的不少服务,还有CDN优化、异地多备份等处理。 说到分布式,就必然涉及到分布式锁的概念,如何保证不同机器不同线程的分布式锁同步呢? 实现要点 互斥性,同一时刻,智能有一个客户端持有锁。 防止死锁发生,如果持有锁的客户端崩溃没有主动释放锁,也要保证锁可以正常释...
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
Nginx 原理和架构
Nginx 是一个免费的,开源的,高性能的 HTTP 服务器和反向代理,以及 IMAP / POP3 代理服务器。Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。 Nginx 的整体架构 Nginx 里有一个 master 进程和多个 worker 进程。master 进程并不处理网络请求,主要负责调度工作进程:加载配置、启动工作进程及非停升级。worker 进程负责处...
Python 编程开发 实用经验和技巧
Python是一门很灵活的语言,也有很多实用的方法,有时候实现一个功能可以用多种方法实现,我这里总结了一些常用的方法和技巧,包括小数保留指定位小数、判断变量的数据类型、类方法@classmethod、制表符中文对齐、遍历字典、datetime.timedelta的使用等,会持续更新......
YouTube排名第一的励志英文演讲《Dream(梦想)》
Idon’t know what that dream is that you have, I don't care how disappointing it might have been as you've been working toward that dream,but that dream that you’re holding in your mind, that it’s po...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
Java世界最常用的工具类库
Apache Commons Apache Commons有很多子项目 Google Guava 参考博客
相关热词 基于c#波形控件 c# 十进制转十六进制 对文件aes加密vc# c#读取栈中所有的值 c# rsa256加密 好 学c# 还是c++ c# 和java的差距 c# curl网络框架 c# https证书请求 c# 中崎
立即提问