自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 C# async/await 简单使用

async/await可以实现不阻塞主线程的情况下等待子线程的计算结果private async void FormLoading_Load(object sender, EventArgs e) { Control.CheckForIllegalCrossThreadCalls = false; Task taskSetTxt = new Task(this.SetPBText); taskSetTxt.Start

2021-11-06 09:53:52 201

原创 MFC中捕捉halcon异常

try { } catch (HalconCpp::HException& except) { CString str_error; str_error = except.ErrorMessage().operator LPCSTR(); AfxMessageBox(str_error); }

2021-10-15 08:58:05 286

原创 MFC多线程的使用(WIN32API)

1、在对话框类内声明两个变量//线程句柄HANDLE m_hThreadXXX;//线程IDDWORD m_dwThreadXXXID;2、声明及定义线程函数(全局或者静态成员函数)声明:static DWORD WINAPI Win32ThreadFuncXXX(LPVOID lpParam);定义:DWORD __stdcall CMultiThreadWin32APIDlg::Win32ThreadFuncXXX(LPVOID lpParam){ //稍后传入this指针,这

2021-10-13 17:12:59 203

原创 MFC多线程的使用(CWinThread类)

1、首先在对话框.h文件(对话框类内)中声明变量//多线程CWinThread* m_ThreadXXX;//控制线程事件句柄(选择性使用)HANDLE m_hControlThreadEnvent2、声明及定义线程函数可以声明在类内,也可以在内外,区别在于类内必须静态。优先选择类内,因为后续可以访问私有变量。声明:static UINT ThreadFuncXXX(LPVOID lPream);定义:UINT CXXXDlg::ThreadFuncXXX(LPVOID lpPara

2021-10-13 16:11:05 1633 1

原创 用DirectShow调用摄像头采集图像并转化为halcon图像

//转Halcon图像HObject ImageDataPtr2HObject(CCameraDS& CameraDS, BYTE* imageDataPtr){ HObject image; if (8 == CameraDS.GetBitCount()) //灰度图 { //造一个灰度图 GenImage1( &image, "byte", CameraDS.GetWidth(), CameraDS.GetHeight(), Hlong(i

2021-10-12 16:21:48 700

原创 在MFC中打开一个Halcon窗口(用图片控件作为载体)

在MFC中打开一个Halcon窗口(用图片控件作为载体)HTuple OpenWindow_(CWnd* pWnd){ CRect rect; HTuple Row, Col, Width, Height; HTuple FatherWindow; HTuple WindowHandle; Row = Col = 0; pWnd->GetClientRect(rect); Width = rect.Width(); Height = rect.Height(); FatherWi

2021-10-11 20:34:00 405

原创 Halcon12 set_display_font 函数

void set_display_font(HTuple hv_WindowHandle, HTuple hv_Size, HTuple hv_Font, HTuple hv_Bold, HTuple hv_Slant){ // Local iconic variables // Local control variables HTuple hv_OS, hv_BufferWindowHandle, hv_Ascent; HTuple hv_Descent, hv_Width, hv_H

2021-01-02 17:00:22 1455

原创 MFC 设置静态文本字体

在初始化对话框函数中添加CFont* font; font = new CFont; font->CreateFont( 60, // nHeight 0, // nWidth 0, // nEscapement 0, // nOrientation FW_BOLD, // nWeight FALSE, // bItalic FALSE, //

2021-01-02 13:22:50 230

原创 MFC 打开文件对话框 并获得文件路径

CFileDialog dlg( TRUE , NULL , NULL , OFN_HIDEREADONLY , L"jpg(*.jpg) | *.jpg|png(*.png)|*.png|bmp(*.bmp)|*.bmp|所有文件(*.*)|*.*||" ,this ); if (IDOK != dlg.DoModal()) { return; } else { //索对话框中输入文件的完整路径 CString strFileNamePath = dlg.G

2020-12-30 15:32:34 609

原创 MFC 设置某个静态文本的颜色

在此之间在类向导中添加一个消息: WM_CTLCOLORHBRUSH CFishChipDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor){ HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor); // TODO: 在此更改 DC 的任何特性 if (pWnd->GetDlgCtrlID() == IDC_STATIC_OKRATE)// 所选文本框ID { pD

2020-12-30 15:25:14 272

原创 Halcon12 disp_message函数

void CFishCheckDlg::disp_message(HTuple hv_WindowHandle, HTuple hv_String, HTuple hv_CoordSystem, HTuple hv_Row, HTuple hv_Column, HTuple hv_Color, HTuple hv_Box){ // Local iconic variables // Local control variables HTuple hv_Red, hv_Green,

2020-12-30 11:09:20 1391

原创 MFC打开文件夹,并获得路径

// TODO: 在此添加控件通知处理程序代码 CFolderPickerDialog folder_picker_dlg; //如果要出现新建文件夹按钮的话 可以这样CFolderDialog dlg(_T( "选择要转换的文件夹" ), FoldPath, this,BIF_NEWDIALOGSTYLE); if (folder_picker_dlg.DoModal() == IDOK) { m_strFolderPath = folder_picker_dlg.GetFolderPath

2020-12-30 10:53:47 459

原创 MFC CString转string

CString str;string cstr;USES_CONVERSION;//将CString转为string 保存在cstr中cstr = T2A(str);

2020-12-21 13:57:03 83

原创 关于C++类交叉使用

比如现在有两个类 :A类 、B类四个文件:A.h A.cpp B.h B.cpp可以这样使用A.h中代码#pragma onceclass B; //B类的前置声明class A{public: A(); ~A();private: B m_b; //定义一个B类的对象};A.cpp中的代码#include "A.h"#include "B.h" //包含B类的头文件A(){}~A(){}B.h中代码#pragma o

2020-12-19 22:33:39 218 2

原创 我的第一篇博客测试

重写PreTranslateMessage虚函数来获得键盘消息BOOL CMFCSocketLeanDlg::PreTranslateMessage(MSG* pMsg){ // TODO: 在此添加专用代码和/或调用基类 if (pMsg->message == WM_KEYDOWN) { if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RETURN && GetKeyState(

2020-12-19 11:53:20 93 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除