windows编程
windows编程,如MFC、win32等
不识君的荒漠
apche rocketmq contributor、incubator-shenyu contributor,基础组件研发方向。
展开
-
MFC下获得位图句柄的方法
1、已经添加了位图资源IDB_BITMAPHBITMAP m_hBitmap;m_hBitmap = (HBITMAP)::LoadBitmapW(AfxGetInstanceHandle(),MAKEINTRESOURCEW(IDB_HUNDRED_BITMAP));2、直接从文件中选取位图HBITMAP m_hBitmap;m_hBitmap = (HBITMAP):...原创 2016-06-01 17:14:51 · 3071 阅读 · 0 评论 -
关于memcpy遇到的一个问题
今天用memcpy将CString转成char[]之后,字符串成为原来的一半,比如CString str="123456",存入char[]变成123,发生的字符串的截断,我原来是这样写的:memcpy(napAdd.name, m_name, m_name.GetLength());改成这样就好了:memcpy(napAdd.name, m_name, m_name.GetLength()*...原创 2016-06-07 15:55:10 · 1879 阅读 · 0 评论 -
【转】WCHAR,CHAR,TCHAR的区…
原文地址:【转】WCHAR,CHAR,TCHAR的区别作者:dragon 现在C++的字符分成两种类型wchar_t和char。 其中 WCHAR==wchar_t,CHAR==char。 TCHAR是一种条件编译的类型,根据条件可以代表wchar_t或char。 CHAR实施上就是unsigned char, WCHAR为宽字符, 而TC...转载 2016-06-07 15:55:13 · 933 阅读 · 0 评论 -
MFC中unicode编码写入记事本时输出…
我用MFC中定义了个char数组,无论是TCHAR,wchar_t,等类型时,输出到记事本时,只要是汉字都出现了乱码,我用的是vs2013,编码采用的是unicode,而记事本用的是ASCII码,所以总能出现这个问题,在网上找到了个这样的办法,首先在头部声明这个宏定义,sizeof(TCHAR)默认值是1,如果是unicode,则是2,#define TCHARLEN (sizeof(TCHAR...原创 2016-06-07 15:55:15 · 2306 阅读 · 0 评论 -
LPCTSTR,LPCSTR,LPTSTR,LPST…
原文地址:LPCTSTR,LPCSTR,LPTSTR,LPSTR的区别及用法作者:阳光守望者LPCSTR 32-bit 指针,指向一个常量字串LPSTR 32-bit 指针,指向一个字串LPCTSTR 32-bit 指针,指向一个常量字串。此字串可移植到Unicode 和DBCSLPTSTR 32-bit ...转载 2016-06-07 15:55:18 · 1035 阅读 · 0 评论 -
关于在vs2013下CString向LPCSTR转…
CString strPath;LPCSTR lpcstr = strPath;尝试了一下几个方法都没成功: //LPCSTR lpcstr = (LPCSTR)(LPCTSTR)strPath;我的解决办法:CString strPath; LPCSTR lpcstr = (LPCSTR)T2A(strPath);用到了T2A,如果要报错:error C2065...原创 2016-06-07 15:55:21 · 1512 阅读 · 0 评论 -
Windows MFC 类库使用技巧
转走了,如有版权不能转载,请告知,自当删除,谢谢博主原文地址:WindowsMFC类库使用技巧作者:faithfish修改记录---------2015/4/20 “List Box 列表框”添加水平滚动条2011/12/26 初版修改记录---------------------------------------------一、基础概念与用法二、控件使用三...转载 2016-06-07 15:55:31 · 3312 阅读 · 0 评论 -
关于MFC在VS2013下获取本机IP地址
下面这段是从网上找到的代码:void CMyDlg::GetHostAddress(CString &strIPAddr){char HostName[100];gethostname(HostName, sizeof(HostName));// 获得本机主机名.hostent* hn;hn = gethostbyname(HostName);//根据本机主机名得到...原创 2016-06-07 15:55:34 · 2126 阅读 · 0 评论 -
MFC中socket编码的问题
要写个socket的连接通信,结果接收的双方都只能收到一半的字符,调了调才发现,是发送方跟接收方的字符编码不同,这是发送方:m_ClientSocket.Send(m_send,m_send.GetLength());这是接收方:void CClientSocket::OnReceive(int nErrorCode){ // TODO: 在此添加专用代码和/或调用基类 c...原创 2016-06-07 15:55:36 · 1818 阅读 · 2 评论 -
关于MFC背景重绘覆盖掉我的静态控…
假如我的静态文本控件ID:IDC_STATIC_FIGHT_NEXT,先置该控件所在对话框的clip children属性为TRUE,然后在OnPaint()内,加上如下代码:CRect rect; GetDlgItem(IDC_STATIC_FIGHT_NEXT)->GetWindowRect(&rect); dc.ExcludeClipRect(&r...原创 2016-06-07 15:55:38 · 2050 阅读 · 0 评论 -
GDI+使用前环境配置
选择当前解决方案->属性,在附加依赖项里添加gdiplus.lib,点击应用,确定。然后在当前工程的应用程序的头文件内,即XXXAPP.h内添加:private: Gdiplus::GdiplusStartupInput m_GdiInput; ULONG_PTR m_GDIToken;添加头文件:#include在XXXDlg.cpp内,添加头文件,#includ...原创 2016-06-07 15:55:41 · 1238 阅读 · 0 评论 -
记WIN32使用duilib时添加MFC类库发现内存泄露的问题解决
本来是需要在win32下使用duilib写一个界面,但后来发现需要使用MFC类库,就参考了下面这位仁兄的博客,在win32下配置MFC类库的支持,博客地址如下:《在Win32应用程序中使用MFC类库(转)》http://blog.csdn.net/susubuhui/article/details/9729645win32SDK是不会检测内存泄露的,但是MFC是支持的,然后我就发现我的内存...原创 2017-04-05 18:28:29 · 2072 阅读 · 0 评论 -
MFC连接access数据库的时候读取date类型遇到的问题
本来只想写一个小小的程序,结果遇到不少问题,本来连接的是*.accdb格式的数据库用m_strDSN = _T("Provider=Microsoft.jet.OLEDB.4.0;Data Source=G:\\ConsumeRecord\\ConsumeRecord\\expenditure.accdb");却报连接错误,原来没有装accessDatebaseEngine,也懒的装了,便保存...原创 2016-09-18 17:23:14 · 1699 阅读 · 0 评论 -
在win32程序中,将浮点数转换为字符串
因为是unicode类型,所以没有用sprintf()函数,而是以为用wsprintf就可以解决问题了,wsprintf(strValue,L"%f",douValue);结果怎么也输不出结果,调试看了下,strValue中的值是f,并不是一串数字,在网上查了些资料,发现了原因:(wsprintf是windows api,不支持浮点输出,swprintf是c库函数,用法和sprintf...原创 2016-08-16 17:31:21 · 2113 阅读 · 0 评论 -
解决 Warning: calling DestroyWindow in CWnd::~CWnd OnDestroy or PostNcDestroy in derived class will n
转自:http://blog.csdn.net/jianzhanger/article/details/6366186出现上面Warning,原因是,调用窗口类析构的时候,窗口对象还没有销毁.具体表现在,当在一个窗口中生成另外一个窗口CTestDlg 时: CTestDlg *pTd = new CTestDlg(); pTd->Create(IDD_D...转载 2016-07-05 14:55:33 · 1941 阅读 · 0 评论 -
调用win32 api创建状态栏
本来要创建一个状态栏,在网上搜了不少事例,但所有给出的都是hwndStatus=CreateWindow(STATUSCLASSNAME,"",SBS_SIZEGRIP|WS_CHILD|WS_VISIBLE, 0,0,0,0,hwnd,NULL,hInst,NULL);问题出就出在这个类名STATUSCLASSNAME也没有具体例子,本人用的是vs2013,一直报错未定义标识符S...原创 2016-07-14 10:06:59 · 3226 阅读 · 0 评论 -
如何获得主对话框的句柄
这是我在编程的时候犯的一个愚蠢而致命的错误,因为我想用到主对话框类里的函数,就是在主对话框存在的情况下,我又实例了个对象,代码如下:C学生信息管理系统对话框版Dlg pDelMsg;一直报错,实际应该是这样的,用AfxGetMainWnd(),获得主对话框的句柄,然后调用它的函数。代码如下:C学生信息管理系统对话框版Dlg* pDelMsg = (C学生信息管理系统对话框版Dlg*)...原创 2016-06-07 15:54:34 · 1813 阅读 · 0 评论