
mfc
dragoo1
这个作者很懒,什么都没留下…
展开
-
MFC怎么实现组合键盘响应
if (pMsg->message == WM_KEYDOWN){ if (pMsg->wParam == 'F' && GetKeyState(VK_CONTROL) && pMsg->lParam & 0x20000000) { MessageBox(L"Ctrl+ALT+F"); } else if (pMsg->wParam == 'F' && GetKeyState(VK_CONTROL) &&.原创 2022-02-22 15:35:42 · 1531 阅读 · 0 评论 -
error RC2135 : file not found: xxx.tlb
Under the Resources tree (which is under Configuration Properties),click "General" and make sure that for Additional Include Directories,you've specified "$(IntDir)" for additional include directories. Thisshould not be blank. And we're specifying the i转载 2021-08-31 19:17:19 · 637 阅读 · 0 评论 -
MFC对话框中显示分割线
方法1:拖一个“Picture Control”到对话框上,设置“Type”为“Etched Horz”或“Etched Vert”。方法2:拖一个PictureCtrl控件,拉成直线,然后color选项选etched就好了。参考:https://blog.youkuaiyun.com/weixin_34166847/article/details/91734020https://my.oschina.net/871120/blog/283978https://blog.youkuaiyun.com/time2原创 2021-01-15 10:43:26 · 1397 阅读 · 0 评论 -
MFC移动控件到指定位置(转)
CRect rect;GetDlgItem(IDC_IMG_NOTEPAD)->GetWindowRect(&rect);//获得空间的绝对坐标ScreenToClient(&rect);//获得相对于主窗体的坐标rect.OffsetRect(CSize(5,5));//这里要是要移动的相对位置GetDlgItem(IDC_IMG_NOTEPAD)->MoveWindow(rect);//移动到目标位置转自:https://blog.youkuaiyun.com/z526882转载 2020-12-21 10:50:14 · 1339 阅读 · 0 评论 -
CListCtrl 失去焦点仍然显示选中高亮(转)
CListCtrl中需要把选中的item高亮显示时只需要调用SetItemState传入LVIS_SELECTED就好。但是这样需要把焦点设置到CListCtrl上,一旦CListCtrl失去焦点高亮就会消失。最近工作中遇到一个需求,需要让CListCtrl在失去焦点的情况下依然显示高亮的item。总的来说有三种方法来实现这个功能。继承CListCtrl然后重绘太麻烦了不想用这个……NM_CUSTOMDRAW事件这个是一个类似于回调的处理过程,Windows在绘制List Ctrl的转载 2020-11-18 11:24:40 · 1636 阅读 · 4 评论 -
ASSERT()和assert()的区别是什么(转)
ASSERT()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为FALSE (0), 程序将报告错误,并终止执行。如果表达式不为0,则继续执行后面的语句。这个宏通常原来判断程序中是否出现了明显非法的数据,如果出现了终止程序以免导致严重后果,同时也便于查找错误。例如,变量n在程序中不应该为0,如果为0可能导致错误,你可以这样写程序:......ASSERT( n ...转载 2020-03-17 10:13:59 · 929 阅读 · 0 评论 -
word Find->Execute 0x800706F7
环境:xp sp3,vs2003,word2007问题:有的电脑在执行vba里面替换的时候会报错VARIANT_BOOL bExec = pSel->Find->Execute( &FindText, &MatchCase, &MatchWholeWord, &MatchWildcards, &MatchSoundsLike,原创 2013-10-12 20:34:14 · 3936 阅读 · 0 评论 -
fatal error C1083: 无法打开预编译头文件:“Debug64\npKq2OaScript.pch”: No such file or directory
环境:win7,64位,vs2008问题:1>npKq2OaScript.cpp(3): fatal error C1083: 无法打开预编译头文件:“Debug64\npKq2OaScript.pch”: No such file or directory npKq2OaScriptCtrl.cpp解决:项目右键->属性->C/C++ ->预编译头->使用预编译头(/原创 2013-05-14 17:04:33 · 1576 阅读 · 0 评论 -
vc/atlmfc/include/afx.h(24) : fatal error C1189: #error : Building MFC application with /MD[d] (CRT
环境:win7,64位,vs20121> c:/program files/microsoft visual studio 8/vc/atlmfc/include/afx.h(24) : fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared d原创 2013-05-14 16:49:36 · 7382 阅读 · 1 评论 -
VC\MFC 编程经验总结—3(转)
关于FindWindowEx和EnumChildWindows结合枚举任何一个控件的简单示例,以下代码以qq为例,只抛砖引玉~~呵呵 申明:本文章仅从技术角度讨论这两个函数的使用方法,任何人可以自由传播\复制,但不得用做其他非法用途,否则责任自负. BOOL CALLBACK EnumqqChildProc(HWND hwndChild, LPARAM转载 2013-03-28 11:10:33 · 946 阅读 · 0 评论 -
VC\MFC 编程经验总结—1(转)
Q 获取Windows外壳主窗口的句柄 A 在编程过程中,我们常常需要获取Windows外壳主窗口的句柄(HWND),微软在MSDN中提供了一个这样的函数: HWND hwndShell = FindWindow("Program",NULL); 用这个函数可以满足我们的要求,但本文再提供一个更好的方法,用User32.dll中的GetShe转载 2013-03-27 13:58:22 · 1174 阅读 · 0 评论 -
使用 CInternetSession 封装多线程 http 文件下载(转)
如何下载一个http文件?我们当然可以用socket自己实现http协议去做,但费时费力还易出bug,对于一个客户端程序稳定易维护是第一位的,所幸MS给我们提供了功能强大的internet API函数族,MFC的CInternetSession对它们进行了一些简单的封装,但如此简单的封装对我等拿来主义者来说只是个半成品。必须经过再加工才能食用。 先来介绍一下CInternetSession的转载 2013-04-07 11:08:26 · 2548 阅读 · 0 评论 -
error C2227: “->QueryInterface”的左侧必须指向类/结构/联合
问题:ado编程 编译时发现QueryInterface”的左边必须指向类/结构/联合/泛型类型 错误:e:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\comip.h(850) : error C2227: “->QueryInterface”的左侧必须指向类/结构/联合 类型是“const c原创 2013-09-29 09:44:37 · 11909 阅读 · 0 评论 -
vc 预定义 STRICT用法(转)
发信人: skyonme (sky), 信区: VC标 题: 【合集】DECLARE_HANDLE(name)怎么解释发信站: 饮水思源 (2002年01月19日11:39:26 星期六), 站内信件☆──────────────────────────────────────☆ cantankerous (well..i'm cantankerous) 于 2001转载 2014-10-11 10:06:43 · 1467 阅读 · 0 评论 -
VC\MFC 编程经验总结—2(转)
Q 如何处理ComboBox中的回车键?避免退出程序? A 在一般的EDIT中采用的方法是处理PretranlateMessage(),执行代码 CWnd *pWnd = GetFocus(); if(pWnd != NULL) { if(pWnd == GetDlgItem(IDC_EDIT1) {转载 2013-03-28 10:43:46 · 1058 阅读 · 0 评论 -
vc windows服务程序调试
最近在编写Windows服务程序,服务程序的启动不像一般的exe程序双击即可运行,它需要通过SCM管理器来启动。所以调试它,在VC中和VS中按F5或者F10都是不行的,这样它启动不起来。而通过SCM管理器来启动,我们编写的服务又直接启动了,脱离了我们的调试环境,也没法调试。网上说了种“附加到进程”的方式,这的确是一种正道。只是一开始你摸不着门道,也不知道如何下手。我写了个测试的服务转载 2015-02-13 10:33:05 · 1979 阅读 · 0 评论 -
vc获取当前程序文件的路径方法[转]
1.方法1 charpBuf[MAX_PATH]; //存放路径的变量 GetCurrentDirectory(MAX_PATH,pBuf); //获取程序的当前目录 strcat(pBuf,"\\"); strcat(pBuf,AfxGetApp转载 2015-05-11 10:45:12 · 1053 阅读 · 0 评论 -
《Windows核心编程》の托盘程序的编写(CSystemTray类) (转)
研究下托盘程序,或者说:任务栏通知区域(Tray)图标。很多应用程序在系统Shell任务栏通知区域有图标提示。通知区域图标适用于长时间运行但无需用户过多操作,并在有事件发生时可随时根据情况通知用户的应用程序(如即时通信工具、下载工具等)。使用任务通知区域图标的好处如下:1) 窗口程序可以在后台运行,窗口退出,但是程序仍然在运行,减少窗口数量,便于用户操作;2) 窗口最小化后,不占转载 2015-11-28 15:30:29 · 1767 阅读 · 0 评论 -
CEdit光标置于起始位置
环境:win7 64位,vs2010BOOL CV12UIDialogQImage::OnInitDialog(){CDialog::OnInitDialog();//光标置于起始位置CEdit* pEdit = (CEdit*)(GetDlgItem(IDC_EDIT_URL));pEdit->SetWindowText(m_strUrl);pEdit->Se原创 2016-04-11 16:03:12 · 2123 阅读 · 0 评论 -
为CListBox加上智能水平滚动条
作者:俞良军发布日期:2004-1-2 20:05:51在MFC中,用列表框(CListBox)来显示多个字符串是一种很方便的方法。但缺省的列表框水平滚动条不够智能——这里智能的含义是:在应该出现的时候出现,不应该出现的时候消失,而且应能自动调节自己的大小。本文通过实例说明了存在的问题和解决办法。一、问题演示 首先用Visual Studio应用向导创建工程Cust转载 2017-05-26 22:22:09 · 611 阅读 · 0 评论 -
error LNK2001: unresolved external symbol __imp__GradientFill
在程序中加入#pragma comment(lib, "MSIMG32.LIB ")参考:http://topic.youkuaiyun.com/t/20010404/11/92099.html原创 2012-09-07 10:39:55 · 1672 阅读 · 0 评论 -
VC 多文档用户界面设计及各个文档之间的切换
参考:http://www.cnblogs.com/renyuan/archive/2012/12/26/2834024.htmlpView->GetParentFrame()->ActivateFrame();关键字:VC 多文档 切换 页面原创 2013-03-05 11:10:34 · 1590 阅读 · 0 评论 -
error C2065: 'CTL_CODE' : undeclared identifier
xp sp3,vc6.0需要加入#include 参考:http://bbs3.driverdevelop.com/read.php?tid-30487.html原创 2013-01-21 13:23:31 · 1336 阅读 · 0 评论 -
计算biSizeImage的两种方法(转)
计算biSizeImage的两种方法: 1.最简单的方法是由BITMAPFILEHEADER结构的bfSize减去bfOffBits。 2.由图像的高度和宽度来计算图像数据的字节数。要注意的是并不是图像的高度乘以图像宽度乘以表示每象 素的字节数就行了,因为在BMP的文件格式中规定每行的字节数必须是4的整数倍,不是4的整数倍的要补 零。因此,正确的算法是: biSizeImage转载 2013-01-15 14:04:48 · 1554 阅读 · 0 评论 -
去除单(多)文档窗口标题栏的文档名
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs){ if( !CMDIFrameWndEx::PreCreateWindow(cs) ) return FALSE; // TODO: 在此处通过修改 // CREATESTRUCT cs 来修改窗口类或样式 cs.style&=~FWS_ADDTOTITLE; //去除单原创 2012-11-07 11:30:48 · 1440 阅读 · 0 评论 -
vc 多文档 视图类设置标题
一.运行后BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs){ // TODO: 在此处通过修改 CREATESTRUCT cs 来修改窗口类或样式 cs.style &= ~FWS_ADDTOTITLE; if( !CMDIChildWndEx::PreCreateWindow(cs) )原创 2012-10-17 14:30:50 · 4886 阅读 · 2 评论 -
VC2008 on_message的问题
VC2008中,添加自定义消息,可是不知道出错的原因DictDlg.hafx_msg LRESULT OnShellNotify(WPARAM wParam,LPARAM lParam);DictDlg.cpp#define WM_SHELLNOTIFY (WM_USER+10);BEGIN_MESSAGE_MAP(CDictDlg, CDialog)ON_原创 2012-10-16 17:47:35 · 1997 阅读 · 0 评论 -
error C2065: 'TRACE' : undeclared identifier
// file debug.h#ifndef __DEBUG_H__#define __DEBUG_H__#ifdef _DEBUGvoid _trace(char *fmt, ...);#define ASSERT(x) {if(!(x)) _asm{int 0x03}}#define VERIFY(x) {if(!(x)转载 2012-09-20 16:22:35 · 3180 阅读 · 0 评论 -
error C2039: 'SetPoint' : is not a member of 'CPoint'
The SetPoint function is indeed not included in this version. Probably it was added later. The CPoint class can accessed e.g. as:CPoint pnt;pnt = CPoint(10,2);参考:http://65.39.148.52/Articles/304原创 2012-09-07 10:38:50 · 2585 阅读 · 0 评论 -
CRichEditCtrl GetLine 中文
用msdn例子先是各种崩溃,然后网上找原因,最后不崩了,取中文又有问题,最后没问题的代码如下int nLineIndex, nLineLength, i = m_richMsg.LineFromChar(-1);for(;i>=0; i--){ nLineIndex = m_richMsg.LineIndex(i); nLineLength = m_richMsg.LineLength原创 2012-08-30 15:55:09 · 2332 阅读 · 0 评论 -
warning LNK4199: 已忽略 /DELAYLOAD:OleAcc.dll;未找到来自 OleAcc.dll 的导入(转)
(1)错误原因:第1步:新建VS2008,win32控制台应用程序,点完成第2步:分3种情况(1)使用标准windows库(2)在共享DLL中使用MFC(3)在静态库中使用MFC------如果你选(1)(2),则正常如果你选(3),则会报1>LINK : warning LNK4199: 已忽略 /DELAYLOAD:OleAcc.dll;未找到来自 Ol转载 2012-08-14 17:58:41 · 7547 阅读 · 0 评论 -
CTreeCtrl在初始化的时候选中
在OnInitDialog中想选择树节点,需要加入下面代码m_tree.ModifyStyle( TVS_CHECKBOXES, 0 );m_tree.ModifyStyle( 0, TVS_CHECKBOXES );m_tree.SetCheck(hItem, TRUE);参考:http://blog.youkuaiyun.com/feihuadao/article/details/61原创 2012-08-02 17:41:03 · 1272 阅读 · 0 评论 -
Project : error PRJ0019: 工具从"执行注册"
环境:xp sp3,vs2008,mfc dll,oracle 11g(11.2.0.3.0)问题:本来没有问题的dll,在添加oci之后,生成报Project : error PRJ0019: 工具从"执行注册",再次生成又好了设置为:1.项目右键-》属性-》c/c++-》常规-》附加包含目录-》F:\app\Administrator\product\11.2.0\db原创 2012-11-12 10:32:47 · 2533 阅读 · 0 评论 -
Scintilla CTRL+F 乱码
使用vc/mfc ocx和开源的Scintilla做了一个简单的编辑器,做到查找功能时,一按CTRL+F就出现乱码ACK。。。百度之(这次居然没用到google),用下面的代码屏蔽乱码SendEditor(SCI_CLEARCMDKEY, (WPARAM)('F'+(SCMOD_CTRL参考:http://download.youkuaiyun.com/download/butterflydog/原创 2012-11-28 17:32:03 · 2583 阅读 · 0 评论 -
SystemParametersInfo 关于VERIFY 出错
xp sp3,vs2008一个自定义继承与cdialog类,执行下面的代码报错VERIFY(SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(NONCLIENTMETRICS), &ncm, 0));原先在vs2003是好的,百度,这是由于以前的工程迁移到Visual stutio 2008上,而本人所使用的是XP出现的问题。原创 2012-11-13 17:58:46 · 2643 阅读 · 1 评论 -
CTreeCtrl设置TVS_CHECKBOXES造成gdi泄漏
关键字:CTreeCtrl,CTreeView,TVS_CHECKBOXES,gdi,leak,泄漏,TVSIL_STAT现象:单文档左侧是一个CDialogBar,里面有一个树控件,在int CFramePrint::OnCreate(LPCREATESTRUCT lpCreateStruct)有下面语句 if (!m_dlgFormBar.Create(this,IDD_DIALO原创 2013-01-12 09:51:02 · 2754 阅读 · 0 评论 -
CString的GetBuffer用法
CFile file;file.Open("c:\\a.xml", CFile::modeRead);int len = file.GetLength();CString str;file.Read(str.GetBuffer(len), len);str.ReleaseBuffer(len);/*没有参数会走下面代码,直接gameover:ATLASSERT( nLength原创 2013-01-08 09:38:35 · 1466 阅读 · 0 评论 -
CImage实现旋转
// IProcessB.h //#pragma once #ifndef _IPROCESSB_H#define _IPROCESSB_H#include struct IMAGEPARAMENT { int nWidth; int nHeight; int nBitCount; int nBytesPerLine;原创 2013-01-04 17:21:51 · 6390 阅读 · 8 评论 -
转-VC中常用的宏
我们在VS环境中开发的时候,会遇到很多宏定义,这些宏可以应用到代码中,或用于编译、工程选项等设置,总之是我们开发中必不可少的工具,有必要做一个总结。有些宏是C/C++定义的,有些宏是VC环境预定义的。 1、C/C++中的宏 __cplusplus 如果当前编译器为C++,该值为1。 __DATE__ 当前源码的编译日期,格式为Mmm dd yyyy。 _转载 2012-12-21 09:09:36 · 908 阅读 · 0 评论 -
The Problem Of CArray(转)
问题CArray是一个很有用的C++类,他给我们编程带来诸多方便和高效。但是如果你比较仔细的话,会发现其实他有一个严重的错误,请看下面一段代码你可以清晰看到错误:CArray my_carray; int some_number = 1;my_carray.Add(some_number); for(int i=0; i my_carray.Add(my_ca转载 2012-12-27 16:39:12 · 1270 阅读 · 0 评论