
VC/MFC
sp_daiyq
时刻保持一颗归零的心,为理想而付出足够的努力。
展开
-
VC操作Excel之用ChartWizard自动生成图表
<br /> 在用VC操作Excel的时候,生成图表有时是不可避免的,这里记下如何通过ChartWizard来简单生成一个图表。首先我们得了解一下图表的组成结构,一个简单的chart通常包括标题、绘图区、图例、数值(X)轴标题、数值(Y)轴标题,绘图区由N个数据系列组成。通过ChartWizard来生成图表非常的简单。网页“http://www.excelpx.com/home/show.aspx?id=3819&cid=15”对ChartWizard方法的参数有一个比较详细的介绍,在操作Exce原创 2011-02-17 14:52:00 · 10520 阅读 · 4 评论 -
如何修改单文档应用程序的标题
默认情况,Frame window的style具有FWS_ADDTOTITLE的style原创 2014-11-14 22:12:26 · 1267 阅读 · 0 评论 -
关于link时缺少external symbol的一个快速解决方法
项目中用到directshow,在编译的时候出现了如题的错误,通过查找资料原创 2014-11-18 17:03:58 · 1314 阅读 · 0 评论 -
点击子对话框的关闭按钮不起作用
<br /> 今天发现一个怪事,当子对话框弹出时,想点击关闭按钮将其关闭,可是无论如何也不响应。花了许多时间也找不到相应的解决办法,突然我发现在往对话框上添加一个空间时,那个“Toggle Guides”没有把所有的空间框住,于是将其直接不显示。后来运行代码发现子对话框的关闭按钮可以起作用了,但是到底是为什么这样就可以让关闭按钮起作用呢?始终是没有想明白。。。原创 2011-05-17 11:16:00 · 3653 阅读 · 3 评论 -
MFC LINK : error : Internal error during ReadSymbolTable
编译环境:VC++6.0 XP系统编译工程:MFC项目link问题:LINK : error : Internal error during ReadSymbolTabledebug模式没有问题,release模式在link的时候出错。这个错误折腾了我整整半天的时间,最终找到解决方法:错误主要出在 C:\Program Files\Microsoft Visual Studio\原创 2013-12-30 16:19:56 · 4129 阅读 · 0 评论 -
只运行一个应用程序的实例
#define APP_ID "C4A75624-61A8-4D2D-9112-E410742857E8" // GUIDvoid CImageProcDlg::OnlyRunOneInstance(){ BOOL bInstanceExist=false; HWND hWnd = ::GetWindow(::GetForegroundWindow(), GW_HWNDFIRST);原创 2014-12-18 00:34:34 · 897 阅读 · 0 评论 -
打开一个指定的文件夹并选中里面的一个指定文件或文件夹
打开F盘并选中里面的TestFolder文件夹:ShellExecute(m_hWnd, "open", "explorer.exe", "/select,F:\\TestFolder", NULL, SW_SHOWNORMAL);explorer的命令行参数:/n为默认选择内容打开一个新的单窗格窗口。默认选择内容通常是安装 Windows 的驱动器的根目录。原创 2014-11-27 17:16:29 · 2770 阅读 · 0 评论 -
VS2008编译RPC idl文件(支持.ACF文件)
1、命令行编译:使用vc的Microsoft Visual Studio\VC98\Bin\下的MIDL.EXE进行编译(命令行编译时会自动添加.ACF文件进行编译):midl hello.idl2、VS2008编译:VS2008在对idl文件编译时只会编译.idl文件,.ACF文件是不会参与编译的,需要在项目中做如下动作:a、右键.idl文件 --> 属性b、原创 2015-01-09 23:54:39 · 3083 阅读 · 0 评论 -
托盘图标在explorer.exe进程退出重启后图标消失(应用程序进程依然存在)的问题
杀掉explorer进程后,windows taskbar也就没有了,托盘图标也就跟着消失了。当explorer进程重启,taskbar将会被创建,taskbar创建后会使用字符串“TaskbarCreated”注册一个消息,然后将这个消息广播到它的所有top-level windows。因此我们可以去注册并捕获这个消息,然后在消息处理函数中调用Shell_NotifyIcon(NIM_A原创 2014-12-09 23:36:15 · 3871 阅读 · 1 评论 -
给SHBrowseForFolder 添加“新建文件夹”按钮
一般情况下,SHBrowseForFolder的文件夹浏览没有“新建文件夹”按钮,让其支持“新建文件夹”按钮其实很简单,只需要给BROWSEINFO的ulFlags设置上0x0040即可:void CXXX::OnBrowseforfolder() { // TODO: Add your command handler code here BROWSEINFO bi; bi.hwndO原创 2014-12-10 12:53:44 · 3963 阅读 · 0 评论 -
将所有的"..."字符串替换成_T("...")
文章转于:VS正则表达式应用[原创]将所有的"..."字符串替换成_T("..."),但是不能替换#include后面的字符串由于vs的正则表达式懒惰跟贪婪控制语法不明确,只好用2条表达式来实现1. 将_T("...")转换成"..." _T\x28{"[^"]@"}\x29\12. 将"..."转换成_T("..."),其中过滤掉#include 的前缀~(\#in转载 2015-01-05 00:11:06 · 1778 阅读 · 0 评论 -
对话框中按下回车后,焦点自动移动到下一个控件
1、处理回车键按下的处理,默认按下原创 2014-11-12 17:08:47 · 2590 阅读 · 0 评论 -
GetPrivateProfileInt等函数读写失败
今天调用GetPrivateProfileInt等函数失败,后来zhongyu原创 2014-05-14 19:50:43 · 5602 阅读 · 0 评论 -
VC操作Excel之基本操作
<br /> 最近由于工作需要,不得不操作Excel,包括基本的数据输入输出、字体设置、颜色设置、单元格的合并、填充色的设置,当然还包括图表的生成以及渐近线的操作等。折腾了许久,项目终于完成了^_^。现在将学习操作Excel的点点滴滴记录下来和大家一同分享,也作为自己的一次总结。<br /> 1、Excel的对象模型(有人称其为层次结构)<br /> 打开一个Excel工作表,点击“工具”->“宏”->“Visual Basic 编辑器”选项打开VB的编辑器,打开帮助文档,里面原创 2011-02-17 12:32:00 · 23914 阅读 · 13 评论 -
VC操作Excel之sercies、Trendline
<br /> 演示一下如何通过VC操作Excel生成下面这样的一个图表,它有两个系列,每个系列都拥有自己的X轴数据和Y轴数据,同时显示其线性的渐近线(TrendLine)以及获取其渐近线公式,因为在项目当中有时候需要其渐近线公式进行分析。<br /> <br /><br /> 具体的代码演示如下:<br /> // 变量的定义 _Application app; Workbooks books; _Workbook book; Worksheets sheets; _原创 2011-02-18 12:23:00 · 5671 阅读 · 8 评论 -
syntax error : identifier 'LPWIN_CERTIFICATE'
<br /> 这几天拿到一个应用程序,编译的时候出现如下错误:<br />c:/progra~1/miaf9d~1/vc98/include/imagehlp.h(959) : error C2061: syntax error : identifier 'LPWIN_CERTIFICATE'<br />c:/progra~1/miaf9d~1/vc98/include/imagehlp.h(985) : error C2061: syntax error : identifier 'LPWIN_CE原创 2011-03-17 20:54:00 · 1886 阅读 · 0 评论 -
DrawDib 使用例子
BITMAPINFOHEADER biHeader; memset(&biHeader, 0, sizeof(BITMAPINFOHEADER)); biHeader.biBitCount=24; biHeader.biCompression=BI_RGB; biHeader.biHeight=480; biHeader.biPlanes=1; biHeader.biSi原创 2011-06-22 14:26:00 · 2417 阅读 · 0 评论 -
文件夹浏览--Folder
void SetFolder(void){ BROWSEINFO bi; char dispname[MAX_PATH]; char szFolder[MAX_PATH]; ITEMIDLIST *pidl; bi.hwndOwner =原创 2011-08-05 15:29:27 · 752 阅读 · 0 评论 -
组合键的检测
VC中如何检测组合键:BOOL CxxxxxDlg::PreTranslateMessage(MSG* pMsg) { // TODO: Add your specialized code here and/or call the base class if (p原创 2011-08-05 17:31:28 · 4844 阅读 · 0 评论 -
'HDEVNOTIFY' : missing storage-class or type specifiers
由于要响应设备的插拔,所有要注册设备的事件通知,用到'HDEVNOTIFY' 等的时侯,编译出现了莫名奇妙的错误:error C2146: syntax error : missing ';' before identifier 'm_hDevNotify'error C原创 2011-08-23 10:09:34 · 3472 阅读 · 0 评论 -
如何区分一个.lib文件是静态库还是动态库导出的文件
一种简单的方式: 用dumpbin - exports xxx.lib 查看导出的函数接口,如果有导出的话就是动态库的lib文件,如果看不到导出函数就是静态库。 不知道这种方式是不是一定正确,不过从几次的测试来看没有问题。原创 2011-10-28 16:25:14 · 2787 阅读 · 0 评论 -
windows 应用程序崩溃时的内存转储及dump文件的分析
1、在现场设置程序崩溃时的自动内存转储,得到dump文件 在windows 注册表如下项: //HKEY_LOCAL_MACHINE/Software/Microsoft/Windows NT/CurrentVersion/AeDebug 中提供了调试器的相关设置。 Debugger 设置具体的调试器和启动参数 Auto转载 2012-09-11 10:27:10 · 19780 阅读 · 0 评论 -
异形窗口 - 显示hello
void CTestdDlg::OnBnClickedButton1(){ // TODO: 在此添加控件通知处理程序代码 HRGN wndRgn; CClientDC dc(this); CFont mFont; if (dc.m_hDC!=NULL) { VERIFY(mFont.CreateFont(200, 50, 0, 0, FW_HEAVY, TRUE, FALSE原创 2015-03-21 07:20:00 · 1269 阅读 · 0 评论