- 博客(83)
- 资源 (2)
- 收藏
- 关注
原创 WPF 设置无边框窗体后任务栏被覆盖问题解决办法
1、窗体设置WindowStyle="None"ResizeMode="CanMinimize" //这个如果不设置,窗体可能占不满2、窗体大小设置在构造函数中设置窗体大小this.Width=SystemParameters.WorkArea.Width;this.Height=SystemParameters.WorkArea.Height;this.Left=0;this.Top=0;this.WindowState=WindowState.Normal;...
2022-05-14 10:05:45
773
转载 C++ operator 简单使用
1、operator作类的转换函数类可以使用构造函数将其他类型转化为此类的对象,比如my_class a = my_class(int i);将int型转化为my_class类的一个对象。同样,也可以使用类的转换函数将类的对象转化为其他的类型。类的转换函数应当满足以下的几个条件:转换函数必须是类方法转换函数不能指定返回类型转换函数不能有参数下面是一个类转化函数的例子#include <iostream> using namespace std; class my_cl
2021-12-22 13:57:53
2874
原创 ATL中CA2T乱码问题
This code:CopyLPCTSTR szr = CA2T(szReplaceFile); is equivalent to this:``````cppLPCTSTR szr;{ CA2T temp(szReplaceFile); szr = temp.operator LPTSTR();} As the memory allocated by the temporary object and returned from the cast operator
2021-12-22 13:27:52
270
原创 Winform TableLayoutPanel设置行 AutoSize 不会自动填补剩余空白的问题
TableLayoutPanel 不会自动占满窗体问题
2021-12-09 09:27:21
1071
原创 窗口上绘制图像不显示问题
标题MFC窗口上bitblt不显示图像问题一个问题坑了半天都才解决,自己记录下来做个记录,为遇到同样困难的同学做一个指引。void CMFCShowPicDlg::OnBnClickedButton2(){ // TODO: 在此添加控件通知处理程序代码 CClientDC dc(this);//一定不要用Cpaintdc CString strFile = _T(""); CFileDialog dlgFile(TRUE, NULL, NULL, OFN_HIDEREADONLY,
2021-09-18 21:48:03
545
原创 A2T引起的堆栈溢出问题
A2T引起的堆栈溢出问题USES_CONVERSION是用来转换类型的,比如我们很常见的问题:在Socket编程时候,我们的IP地址从界面上输进去一般都使用CString类型的,可是在SOCKADDR_IN中的inet_addr却是const char *我们就不能直接用CString来用。我们就可以使用T2A()宏了。SOCKADDR_IN localaddr;CString m_IP = L"192.168.1.2";USES_CONVERSION;localaddr.sin_family
2021-09-01 17:34:28
538
原创 解决FlowLayout放入QScrollArea中 控件不会横向排列的问题
最关键的一句话就是下面pScrollWnd->setWidgetResizable(true);没有这一句,flowlayout中的控件只会竖向排列,不会横向添加。一个bug找了很久,自己做一个记录。void IOPage_Input::initControls(){ FlowLayout* playout = new FlowLayout(); for (int i=0;i<120;i++) { QIoControl* ptm = new QIoControl(this,
2021-08-14 10:39:20
287
原创 C++ 调用C# dll无法命中断点的解决方案
1、做一个C++ dll 调用并封装C#的dll,此项目需要启用 公共语言运行时支持(/clr)2、调用的C++ 应用程序也需要打开/clr选项至此断点不能命中的问题就解决了。一个问题花了一天的时间来解决,真是泪奔。。...
2021-08-05 14:36:04
891
转载 托管与非托管混合编程
托管与非托管混合编程翻译原文来自:http://www.codeproject.com/Articles/35041/Mixing-NET-and-native-code源代码最直接的实现托管与非托管编程的方法就是使用C++/CLI介绍项目存档一直是企业的采用的做法,而是事实证明他们也是对的!对于一个程序员,这是几千men-days的工作量。为什么不开发一小段代码去重新利用那段代码,项目。现在提供了一个渐渐的转向C#的新技术: 使用托管与非托管的混合编程。这是一个可行的方案在top-down i
2021-08-04 16:15:08
623
转载 QTableWidget内容不刷新_解决方法
使用 QTableWidget 时会发现,当外部代码去更新表中的数据,却发现界面没有自动更新。即使在更新数据之后添加了ui->tableWidget->repaint();或者ui->tableWidget->update(),界面依然没有自动更新。只有当鼠标点击界面时,数据才被刷新。解决方法使用如下代码:ui->tableWidget->viewport()->update();原因update()是更新这个控件viewport()->up
2021-07-28 15:03:28
6149
3
原创 qt 控件上显示中文乱码解决方法
可以通过QString定义的静态函数,先转换成Unicode类型:QString::fromLocal8Bit(“提示”)
2021-07-28 14:37:05
560
原创 QT setWindowIcon图标不显示的Bug解决方案
QT setWindowIcon图标不显示的Bug解决方案图片路径正确并且生成的exe图标也显示了,运行起来的时候窗口和任务栏不显示图标。折腾了很久发现缺少依赖的dll导致图标不显示,解决方案有两种:1、删除生成的dubug/Reslease文件夹,调试运行就会发现图标又能显示了。2、用qt deploy工具添加exe 依赖的dll...
2021-07-12 09:02:37
6713
1
原创 QT不用UI,QMainWindow添加layout 控件不显示问题
QT中setLayout无效的问题在QT开发过程中,有时候会遇到这样的问题,当我们自己创建了一个Layout对象以后,使用QWidget的setLayout方法,将这个Layout对象应用到窗口中的时候,发现窗口上没有我们添加的控件,比如,QMainWindow就是一个例子,还有QToolBar也是这样,还有其他的QT预定义的别的窗口类有时候也会遇到这样的情况。之所以出现这样的情况,是因为这个窗口类中,已经有了一个Layout对象了,这时候,当你再setLayout的时候,就是无效的。下面有三个解决办
2021-07-07 13:46:42
4521
1
原创 C++ GetVersion 替代
VS2019中GetVersion没法使用提示过期,用下面的函数来替代typedef struct _PEB { BOOLEAN InheritedAddressSpace; BOOLEAN ReadImageFileExecOptions; BOOLEAN BeingDebugged; BOOLEAN BitField; HANDLE Mutant; PVOID ImageBaseAddress; PVOID Ldr; PVOID ProcessParameters;
2021-06-09 10:21:02
489
原创 C#变量内存拷贝
C# short类型数据拷贝给ushort类型方法1:转成bytes数组后再转换过去 short bbb = -1000; ushort ccc = 0; byte[] srcbyte = BitConverter.GetBytes(bbb); ccc=BitConverter.ToUInt16(srcbyte,0);方法2:直接非托管内存拷贝 ushort[] srcbyte2=new ush
2021-04-22 16:08:10
1001
转载 SetwindowText 之线程阻塞
示意代码:CriticalSection g_Section;CDialog g_Dlg;// 工作线程函数UINT TreadFunc_A(PVOID para){Sleep(10);g_Section.Lock();Sleep(3000);g_Dlg.m_Show_Edit.SetWindowText("TreadFuncA");// Beep(400,20);g_Section.Unlock();}// 窗口按钮消息函数void CDialog::OnButton
2021-04-06 15:37:08
496
原创 CefSharp.Wpf 屏蔽右键弹出菜单
我当前使用的版本是87.1.132.0创建一个新的C# 类 实现 IContextMenuHandler 菜单接口public class MenuHandler : IContextMenuHandler { void CefSharp.IContextMenuHandler.OnBeforeContextMenu(CefSharp.IWebBrowser browserControl, CefSharp.IBrowser browser, CefSharp.IFrame fr
2021-03-05 10:58:50
653
1
原创 HTML中单引号和双引号区别
NKingjs、html中的单引号、双引号及其转义使用‘&apos’; ----单引号‘$#39’;’ ----单引号(兼容IE)‘"’; -----双引号在一个网页中的按钮,写onclick事件的处理代码,不小心写成如下:<input value=“Test” type=“button” οnclick=“alert(”“OK”");" />IE提示出错后,再漫不经心地改为:<input value=“Test” type
2021-03-05 09:46:17
773
1
原创 Wpf webbrowser控件屏蔽HTML页面上的右键菜单
WPF Webbrowser控件屏蔽鼠标右键菜单WPF webbrowser 没有发现设置屏蔽右键弹出菜单的属性,因此只能通过设置HTML文件来搞定了。在HTML元素的Body标签中加入Javascript事件句柄,代码如下:<body onContextMenu="return false">...
2021-02-25 17:57:11
598
原创 C# sqlite 查询数据库表中所有字段
public bool ReadTableFields(string strTableName,out List<string> strFieldNames) { // 获取表中的所有字段名 string sqlfieldName = "Pragma Table_Info(" + strTableName + ")"; // 创建命令对象 SQLiteCommand cmd = ..
2021-01-13 17:26:24
1968
原创 GetPrivateProfileString C# 读取中文乱码问题
1、ini文件要设置成unicode编码格式。win10中记事本已经没有了unicode选项用UTF-16 LE替代。2、Windows 10版本1903更新后,记事本的几种编码模式改了名称:旧版的“Unicode”相当于新版的“UTF-16 LE”(这是题主找不到“Unicode”选项的原因);旧版的“Unicode big endian”相当于新版的“UTF-16 BE”;旧版的“UTF-8”相当于新版的“带有BOM的UTF-8”(而新版的“UTF-8”实质上是“不带BOM的UTF-8”)...
2020-12-28 17:29:55
3847
原创 C++智能指针管理new出来的char* buffer
std::unique_ptr<char[]> chars(new char[1024]);
2020-12-10 08:52:51
1366
原创 wpf 窗体双击放大和缩小
给窗体鼠标按下事件绑定处理方法 this.MouseDown += MainWindow_MouseDown;在鼠标按下事件处理方法中实现拖拽和放大缩小private void MainWindow_MouseDown(object sender, MouseButtonEventArgs e){ // 按下拖动 if (e.LeftButton == MouseButtonState.Pressed) { this.DragMove(); }
2020-10-20 16:12:53
981
原创 C# 托管内存与非托管内存之间的转换
C# 托管内存与非托管内存之间的转换c#有自己的内存回收机制,所以在c#中我们可以只new,不用关心怎样delete,c#使用gc来清理内存,这部分内存就是managed memory,大部分时候我们工作于c#环境中,都是在使用托管内存,然而c#毕竟运行在c++之上,有的时候,(比如可能我们需要引入一些第三方的c++或native代码的库,在Unity3d开发中很常见)我们需要直接在c#中操纵非托管的代码,这些non-managed memory我们就需要自己去处理他们的申请和释放了, c# 中提供了一些
2020-09-25 14:17:42
772
原创 C# Marshal的使用
IntPtr ptr = Marshal.AllocHGlobal(704* 576 * 3);如果没有手动释放内存,会有内存溢出;发生OutOfMemoryException 没有足够的内存继续执行程序时引发的异常。调用Marshal.AllocHGlobal必须调用 Marshal.FreeHGlobal(ptr);来手动释放内存,即使调用GC.Collect();方法也无法释放。...
2020-09-25 14:09:56
1680
原创 halcon 计算区域的灰度特征
名称cooc_feature_matrix - 从共生矩阵计算灰度值特征。用法cooc_feature_matrix(CoocMatrix : : : Energy, Correlation, Homogeneity, Contrast)描述 算子根据共生矩阵(Coo_Matrix)计算能量(Energy),相关性(Correlation性),局部均匀性(Homogeneity)和对比度(Contrast)。苹果和橘子 gmm分类例程:classify_citrus_fruits.hdev
2020-09-11 16:40:44
2177
原创 MFC 判断窗口是否是置顶状态
VC++ 判断你的窗口是否置顶TopMost 大家可能已经知道,使你的窗口置顶(TopMost)或者总是最前(Always on Top)的方法:// Make topmost::SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); // Revert back::SetWindowPos(hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
2020-09-05 14:42:16
1167
原创 halcon例程代码目录
C:\Users\Public\Documents\MVTec\HALCON-17.12-Progress\examples
2020-08-19 15:17:51
670
原创 使用Dependency Walker工具查看DLL文件
右上方一共有两个部分,其中,PI是Parent Import Function List View的简写,E是Export Function List View的简写。通过这两个部分,用户可以观察到该DLL文件从哪些其他文件中调用了函数(PI),又提供了哪些接口,让其他的程序调用(E)。需要特别注意的是,DependencyWalker中提供的函数名是C语言可以调用的函数名。...
2020-07-14 18:48:08
718
原创 Visual studio 中的Targets文件
1、工程中没有一个C#文件2、工程同目录下有Targets文件夹3、target文件中存储了要编译的文件名称
2020-07-14 11:38:50
1470
原创 Halcon 算子
1、求两条直线的交点intersection_lines (Operator)Nameintersection_lines — Calculate the intersection point of two linesSignatureintersection_lines( : : Line1Row1, Line1Column1, Line1Row2, Line1Column2, Line2Row1, Line2Column1, Line2Row2, Line2Column2 : Row, Col
2020-07-08 09:10:11
3012
原创 CLR system::string^转std::string
In mixed mode, you sometimes must marshal your data between native and managed types. The marshaling library helps you marshal and convert data in a simple way. The marshaling library consists of a set of functions and a marshal_context class that perform
2020-07-03 13:42:00
700
原创 String^与string的相互转换
采用了c++调用c#dll的方法,在.net中string是需要用gcnew进行初始化,先来看看gcnew和普通的new的区别:C++/CLI中使用gcnew关键字表示在托管堆上分配内存,并且为了与以前的指针区分,用^来替换* ,就语义上来说他们的区别大致如下:1. gcnew返回的是一个句柄(Handle),而new返回的是实际的内存地址. 2. gcnew创建的对象由虚拟机托管,而new创建的对象必须自己来管理和释放.暂时没有很深入的去理解这些区别。因为需要在c++的控制代码中
2020-07-03 10:07:56
2462
gridctrl_demo224.zip
2020-03-21
Opencv 3.4.1 X86 unicode版本头文件 lib dll
2019-03-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人