
MFC
文章平均质量分 76
q472599451
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Image::FromStream(pStream) 返回0
今天在做GDI,PNG的透明按钮时遇到一个问题,pImage=Gdiplus::Image::FromStream(pStream);总是返回0;原来是没有初始化GDIGdiplus::GdiplusStartupInput gdiplusStartupInput;ULONG_PTR gdiplusToken;//初始化GDI+.原创 2013-03-14 22:17:25 · 3623 阅读 · 2 评论 -
C++的四种类型转换: static_cast const_cast reinterpret_cast dynamic_cast
本人之前一直使用C语言的类型强制转换,最近写C++代码比较多。在github上看到其他人的代码并没有使用C语言的类型转换,了解到C语言的类型转换在C++中是不安全的。所以整理了一下C++的四种类型转换关键字的用法。...原创 2022-08-28 18:26:37 · 166 阅读 · 0 评论 -
使用MFC 发送消息模拟按钮按下事件
有时我们需要这么做, 手动模拟按钮按下的事件, 让程序做出与按钮真的按下时一样的响应. 设按钮ID为ID_BTN_OK, 当前Dialog窗口. 实际上系统并不能区分按钮是真的按下了(如用鼠标点击), 还是一个我们自己用代码模拟出的一种"假象".它所需要知道的只是哪个窗口(按钮也是一种窗口)发生了哪一种事件, 然后在消息循环中处理它. 系统怎么才能知道这些呢? 当然靠的是消原创 2012-08-14 17:16:27 · 1050 阅读 · 0 评论 -
字符串转换
由于在实际中开发中经常遇到字符串转换问题,所以总结一下,以后好调用。================================parse.h=================================#pragma onceextern std::wstring s2ws(const std::string s);extern std::string WCh原创 2012-07-10 16:06:55 · 611 阅读 · 0 评论 -
C++ 裁剪图片 分割图片 截图
我采用的是OPENCV的库#include <iostream>#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>using namespace std;using namespace cv;Mat img;Mat out;img = ...原创 2019-06-10 23:27:42 · 5325 阅读 · 2 评论 -
CString转UINT
今天调试程序的时候,要用无符号整形的位操作来记录座椅的信息,再通过转换为CString发送,结果发现了一点问题。1.UINT转CString比如我要发送的信息是1111 1111 1111 1111 1111 1111 1111 1111,在使用CString temp;temp.Format("%d",infor);它打印出来是“-1”,而不是我想要的“4294967295”到网上一原创 2012-07-09 11:51:02 · 9493 阅读 · 0 评论 -
基于UDP的简单聊天程序
#pragma comment(lib,"ws2_32.lib")#include #include void main(){ WORD wVersionRequested; WSADATA wsaData; int err; wVersionRequested = MAKEWORD(1,1); err = WSAStartup(w原创 2013-03-06 14:24:44 · 908 阅读 · 0 评论 -
Socket中如何设置连接超时
设置connect的超时很简单,优快云上也有人提到过使用select,但却没有一个令人满意与完整的答案。偶所讲的也正是select函数,此函数集成在winsock1.1中,简单点讲,"作用使那些想避免在套接字调用过程中被锁定的应用程序,采取一种有序的方式,同时对多个套接字进行管理"(《Windows网络编程技术》原话)。使用方法与解释请见《Windows网络编程技术》。 在使用此函数前,需原创 2013-10-10 15:48:03 · 625 阅读 · 0 评论 -
10048错误(WSAEADDRINUSE)的错误处理
这两天在工作的过程中发现基于socket的网络程序中时不时发生connect()调用失败的错误,通过获取错误码,发现是WSAEADDRINUSE(10048)的错误,MSDN的说明如下: 这种错误常常发生在bind函数中,当bind已经绑定的端口被占用后,再次绑定同一端口就会发生错误,但这一错误不影响bind的执行,换句话说,bind第二次执行并不发生错误,但是在紧接着原创 2013-07-18 10:05:02 · 3960 阅读 · 0 评论 -
C++发送邮件和附件
头文件[cpp] view plaincopy/*********************************************************************** *发送邮件模块头文件 *可以发送文本和附件(支持多个附件一起发送) ****************************************转载 2013-07-10 18:50:16 · 3600 阅读 · 1 评论 -
MFC:XP下屏蔽Ctrl+Alt+Del等组合键的方法
屏蔽Ctrl+Alt+Del等组合键也是一个老生长谈的话题了,95、98系统中有很多方法试用,但是在Xp下就不能用了,而本文则不考虑Win7系统,因为那又是另一种方法了,本文只介绍XP下屏蔽这些组合键的方法。屏蔽Ctrl+Alt+Del我知道的有两种,一个是直接改写注册表,这个比较简单,也能禁止,但是会有提示“管理员禁止任务管理器”的字样,这是因为直接关闭了系统服务,虽然效果能达到但是不是我们原创 2013-05-06 11:31:48 · 2894 阅读 · 0 评论 -
MFC自绘属性的总结
CTreeCtrl是在OnNMCustomdraw中自绘的,不要设定其他属性 CListCtrl是在DrawItem中自绘的,要设定属性LVS_OWNERDRAWFIXED|LVS_REPORT CButton是在DrawItem中自绘的,要设定属性BS_OWNERDRAW CMenu是在DrawItem中自绘的,要把每一项都设定属性MF_OWNERDRAW,用到递归方法原创 2013-04-02 10:31:18 · 668 阅读 · 0 评论 -
串口编程
类库文件:cncomm.h。下面是简单应用的笔记:发送数据:write读数据:read打开串口:open //!串口发送数据void CCncomm_zDlg::OnOK(){ // TODO: Add extra validation here CString strSend; m_strSend.GetWindowText(strSend); c原创 2012-12-11 16:27:41 · 601 阅读 · 0 评论 -
MFC 开机自启动
void CTestDlg::OnBoot() { UpdateData(); // 写入注册表,开机自启动 CString sPath; GetModuleFileName(NULL,sPath.GetBufferSetLength(MAX_PATH+1),MAX_PATH); sPath.ReleaseBuf原创 2012-12-12 16:53:05 · 464 阅读 · 0 评论 -
MFC下编写的Split函数
四个参数说明如下:a:要分割的字符串b:存放的数组,要定义到足够能放下所有分割结果。c:分割后实际生成的数组元素最大下标,如果没有元素生成,则函数调用后为-1。注意,c在函数调用后值要发生变化,这是一个地址引用参数。d:分隔符,长度不限,并不限定为一个字符void Split(CString a, CString *b, int &c, CString d){int d原创 2012-12-12 16:54:31 · 583 阅读 · 0 评论 -
dll 计时器
方法一:SetTimer(NULL, 0, 1000, (TIMERPROC)Timer2Proc);VOID CALLBACK Timer2Proc(HWND hWnd, // handle of window for timer messagesUINT uMsg, // WM_TIMER messageUINT idEvent, // timer identifier原创 2013-01-22 10:40:13 · 853 阅读 · 0 评论 -
udp dll编程中遇到一个问题
今天在改一个win32的程序,其中调用了CSOCKET,按以下方法改动项目1、工程设置中,将MFC的使用由原来的“使用标准windows库”改为“在共享DLL中使用MFC”如果是英文版,相关选项是:Microsoft Foundation Classes: Use MFC in a shared dll, no using MFC2、头文件包含不同的MFC类原创 2013-01-28 23:13:51 · 745 阅读 · 0 评论 -
获取windows系统时间
获取系统时间,这个方法比较简单SYTimeEMTIME Time={0};GetLocalTime(&Time);//获得当前本地时间GetSyTimeemTime(&Time);//这一个是获得格林威治时间,一般不用SYTimeEMTIME结构说明typedef struct _SYSTEMTIME { WORD wYear; //年 WORD原创 2013-01-18 16:48:35 · 4618 阅读 · 0 评论 -
TCP 编程。
sockets(套接字)编程有三种,流式套接字(SOCK_STREAM)TCP,数据报套接字UDP(SOCK_DGRAM),原始套接字(SOCK_RAW);基于TCP的socket编程是采用的流式套接字。在这个程序中,将两个工程添加到一个工作区。要链接一个ws2_32.lib的库文件。服务器端编程的步骤:1:加载套接字库,创建套接字(WSAStartup()/socket());2原创 2013-03-06 21:57:32 · 521 阅读 · 0 评论 -
dialog全屏
方法一:在Dialog::OnInitDialog()中加入:ModifyStyle(WS_CAPTION,0,0); // 如果只是要普通的全屏,不想去掉标题栏,就不用第一个语句SendMessage(WM_SYSCOMMAND,SC_MAXIMIZE,0); 不过这种方法不方便调整控件的位置,此时可以考虑方法二 方法二:转载 2013-03-14 18:22:13 · 900 阅读 · 0 评论 -
在 VC++6.0 中将 JPG 格式图片转换成 BMP 格式
在 VC++6.0 中将 JPG 格式图片转换成 BMP 格式思路:利用 GDI+来完成难点: (1)配置 GDI 开发环境,添加配置代码(2)在当文档程序中添加转换代码注意:本文档由 ybdesire 参考网上资料撰写完成,代码已经做过测试,可直接复制张贴实现过程:一、 配置 GDI 开发环境(1) 下载 GDI+ SDK for Visual原创 2013-03-14 20:37:15 · 4712 阅读 · 0 评论 -
C++如何处理内联虚函数
当一个函数是内联和虚函数时,会发生代码替换或使用虚表调用吗? 为了弄清楚内联和虚函数,让我们将它们分开来考虑。通常,一个内联函数是被展开的。 01.class CFoo {02. 03.private:04. 05.int val;06. 07.public:08. 09.int GetVal()转载 2012-07-30 23:49:21 · 465 阅读 · 0 评论