- 博客(131)
- 资源 (9)
- 收藏
- 关注
原创 使用ADO EXTENSION榜定数据表之后,在读数据时出现类似"屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯"的情况
所有字段几乎都是文本,那么在凡是为空的字段都显示为"屯屯屯屯屯屯屯屯屯屯屯屯屯屯"有一个字段出现了"屯屯屯屯china",而这里的china应该是下一个字段的值在CADORecordBinding的子类构造函数中初始化诸字符变量,如:class CHasPrpaRs : public CADORecordBinding ...{ BEGIN_ADO_BINDING(CHasPrpa
2008-04-15 21:49:00 1264
原创 error C1075: end of file found before the left brace '{'的错误
在使用ADO Extention做数据库应用程序(用了CADORecordBinding的派生类后) 出现如下错误:error C1075: end of file found before the left brace {究其原因发现是class CRsRGrid : public CADORecordBinding {//BEGIN_ADO_BIN
2008-04-04 11:28:00 4819 2
原创 CProtertySheet=CPropertyPage+CTabCtrl
如果需要定制随对话框或者FormView而改变大小的PropertySheet,则可重载CPropertySheet,并在其OnSize函数中遍历所有CPropertyPage并设置其大小,也要GetTabCtrl,并设置其大小。
2008-03-28 00:06:00 979
原创 CodeProject上的几种Layout
一、ResizableLibhttp://www.codeproject.com/KB/dialog/resizablelib.aspx AddAnchor(IDC_STATIC2, TOP_LEFT); AddAnchor(IDC_EDIT1, TOP_LEFT, ANCHOR(40,100)); AddAnchor(IDC_BUTTON1, BOTTOM_LEFT, ANCH
2008-03-12 15:58:00 1755
原创 原来添加控件不需要Create
原来添加控件不需要Create,仅需要定义成员变量,进而在DoDataExchange里面加:DDX_Control(pDX, IDC_EDIT1 ,mEdit); DDX_Text(pDX, IDC_EDIT1, m_Str);而不再需要显式地mEdit.Create(...)
2008-03-09 21:49:00 696
原创 CVSNT+WINCVS的配置问题
CVSNT的 Responsitry Configuration必须有windows 目录与unix 录的映射即"c:/cvsdir"与"/cvsdir",所以在wincvs的登录配置中路径不是"c:/cvsdir"而是"/cvsdir"。 在windows里专为cvs开一个密码,必须有密码,在winCVS中也要设置。 初次始用,首先由目录A“导入”一个模块,再“检出”该模块到目录
2008-03-03 16:17:00 563
原创 断言docmgr.cpp,852行的问题
Programming VC++,中文书名《VC++ 技术内幕》的示例ex20d演示了MDI程序中多doc/view的使用,加了一个HexView其中的CEx20dApp::InitInstance()函数中: CMultiDocTemplate* pDocTemplate; pDocTemplate = new CMultiDocTemplate( IDR_EX20D
2008-02-22 14:57:00 1098
原创 小述取消移动漫游费之不可能
屋漏又逢连夜雨,甚是郁闷。不过幸而今日双休,冬雨绵绵阴冷沉闷,实在无聊,特将以前与Leo.Jin谈过的观点整理一下。 移动通信漫游费素来遭国人抱怨,其实多数使用者通常用不着大范围的漫游功能,即使漫游也就那么几个地区(工作区域、老家、某个特定旅游城市)。 分析漫游费存在在理由可以发现背后的决定性因素,归结为以下三点: 通讯公司的经济结构
2008-01-20 20:42:00 944
原创 ftp传递可执行文件的小问题
必须在连接上之后使用binary命令设置当前传输模式为二进制模式,否则默认为ASCII模式,可执行文件传输过去之后不再能执行。进入每一个目录都要重新设置binary。
2007-12-11 22:59:00 1004
原创 miranda中Service与Event机制分析结果
经分析,得出如下结论:Service: Function 与name为一对一的关系,可以凭借name在全局范围内调用function Event: Event与 name为 1:1的关系,但是Event和Fucntion之间为n:1的关系。每调用一次HookEvent(name, func)则将func加到名为name的event的队列的末尾。每调用一次CallHo
2007-08-14 20:41:00 1206
原创 复制文件夹, Copy a directory to destinate path.
////folder copy/////////////SHFILEOPSTRUCT so;//for direct copy//global varientso.hwnd=hWnd;so.wFunc=FO_COPY;so.pFrom="C://test//mfcdll";so.pTo="C://mfcdll";so.fFlags=FOF_ALLOWUNDO|FOF_SIMPLEPROGRE
2007-05-28 11:53:00 1439
原创 调用文件“属性”对话框
#include "shellapi.h"////////////////////////////////////////////////////////appended by zyySHELLEXECUTEINFO se;//////////////////////////////////////////////////////se.hwnd=hWnd;se.lpVerb="properties
2007-05-28 11:49:00 1294
原创 VC7/8的工程移至VC6时碰到的warning C4005: '_WIN32_WINDOWS' : macro redefinition及其解决
将高版本VC(2005/2003)的工程移至VC6下时,经常碰到:warning C4005: _WIN32_WINDOWS : macro redefinition 解决方法:以VC6生成的stdafx.h替代高版本VC的同名文件。
2007-05-17 12:49:00 5865
原创 改良TEAR实例抓取动态页面一则
ASP的动态网页中通常有一种写法:1、服务端和浏览器连接后,建立一个session(此处指asp语法中的session对象),用来保存一些变量。2、请求此类动态页面时,先行GET一个带参数的URL,形如:http://www.yoursite.com/xyz/session_id.asp?id=7413、而后服务端再生成一个页面,该页面每次URL相同,但内容根据上一步带过来的参数值而不同。url形
2007-05-11 10:21:00 1242
原创 CMainFrame::PreCreateWindow函数中WS_CLIPCHILDREN属性的修改需要慎重!
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)...{ if( !CFrameWnd::PreCreateWindow(cs) ) return FALSE; // TODO: Modify the Window class or styles here by modifying cs.cx = 350;
2007-04-25 16:16:00 1853
转载 OnEraseBkgnd相关的一些理解
如参考链接中所指出的一些知识如下: Q: OnEraseBkgnd函数中返回TRUE或FALSE有什么区别? A:
2007-04-24 14:39:00 1743
原创 OnCtlColor/WM_CTLCOLOR与OnDrawItem/WM_DRAWITEM的一点关系
联系:二者均由父窗体内重载,但改变的确是子窗体的显示细节区别一、前者只能改变颜色 ,后者可自定义更多细节区别二、后者所施加的空间必须为Owner Draw区别三、前者不能作用于Button参考文献:《白乔原创:VC之美化界面篇》
2007-04-24 13:46:00 2686
原创 OnCtlColor/WM_CTLCOLOR对于Static控件有效而对于Button无效
似乎微软改变了主意:http://www.80diy.com/home/20010908/12/277821.html重载OnCtlColor只能改变窗体和STATIC的颜色,而对于Button则不行。而对于STATIC起作用的代码,对于CheckBox也有作用。其他参考链接:http://www.21cnvip.com/csdn/html/20051222/09/4474129.html
2007-04-24 11:33:00 4878
原创 透明CheckBox
在类似MSN Messenger的Log in界面上同样需要透明的checkbox ,与透明Static相近,重载OnPain()。但此处需要自行绘制chebox的小方框,并空出其位置后绘制文字。DrawFrameControl可绘制小方框,而15像素差不多是个比较好的绘制举行宽度,同理,可在控件左侧开始20个像素处开始绘制文字为佳。void CTransCheck::OnPaint() {
2007-04-20 09:00:00 2464
原创 WS_CLIPCHILDREN与WS_CLIPSIBLINGS
英文单词解释clip:夹子、子弹夹、回形针;夹住,修剪sibling:同胞兄弟或姐妹overlapped:重叠这两个Window Stype的特性与异同素来不太清楚,今日作一笔记:MSDN的解释为:WS_CLIPCHILDREN Excludes the area occupied by child windows when you draw within the parent wind
2007-04-18 20:51:00 3476 1
原创 WM_DRAWITEM/CWnd::OnDrawItem
一直以来闹不清楚WM_PAINT和WM_DRAWITEM有什么关系,前者不必多言,后者在自绘控件的相关帖子中被频繁提及。今日 经过试验以及参考MSDN得出:WM_DRAWITEM均被控件的父窗体调用和处理。举简单例子如下:Project有三个主要的类:1、CApp theApp2、CDialog Dlg3、CMyButton Btn;//其parent为dlg 若要自绘按钮CMyButton
2007-04-18 19:55:00 3425 1
原创 解决问题:ASSERT in Wincore.cpp ,line 884
Project A.dll有如下相关结构与接口:(伪VC代码)Class CChildView : public;Class CMainFrame {… CChildView m_wndView; …};CMainFrame::ShowDialingPad(){ CMyDialog * pDlg=new CMyDialog();pDlg->
2007-04-11 09:33:00 3904
原创 VC编译多个相关Project方法点滴(再续)
有一种情况会引起故障,倘若某个dll引用了其他的other.dll,则需要把 ohter.dll拷贝至/output下。否则出现如下状况:有工程A,输出为A.dll;工程B输出为B.exe。经设置,将二工程输出的dll和exe均放到../Debug/目录下。且将工程A调试调用的Executable for debug sessions设置为../debug/B.exe。 很奇怪的是:
2007-04-09 17:39:00 1864 1
原创 TabCtrl控件的使用一则——程序架构
传统地,Tab控件在切换Tab页时,需要切换页相对应的子窗体的隐藏与显示。单独对子窗体控制,略显繁杂。本文采取如下思路: 将诸子窗体放到某个承载窗体(比如CWnd类型或者CDialog类型对象)上,在Tab切换时,操控承载窗体的显隐即可达到目的。又传统地,程序需要维护一个对象数组,每个对象用于维护Tab和承载窗体或子窗体之间的关系;而本文采取如下方法:利用TCITEM结构体的lParam字
2007-04-06 14:56:00 4348 4
原创 模拟CTabCtrl控件的单击事件
1、必须在CTabCtrl所在父窗体处理WM_NOTIFY消息2、用一下代码段模拟单击事件 m_wndView.m_Tab.SetCurSel(m_wndView.m_Tab.GetItemCount()-1); NMHDR nh; nh.hwndFrom=m_wndView.m_Tab.m_hWnd; nh.idFrom=IDC_TABCTRL; nh.code=
2007-04-06 10:54:00 2335 1
原创 使用CHtmlView需要注意的问题之一
除了需要重载CHtmlView的几个函数之外,还需要在Allication的InitInstance中加入:// Call if using OLE Controls AfxEnableControlContainer(); //AfxOleInit(); ::CoInitialize(NULL);相当于在Wizard创建工程时选择允许OLE控件
2007-04-05 14:37:00 1232
原创 去掉窗体的边框,并且禁止拖动改变窗体大小
在Win32 SDK程序中,Create时创建一个一个窗体。欲去除其边框标题栏等属性,宜在WM_CREATE消息中写,或者在子窗体(例如按钮)的单击消息中以SetWindowLong(hwnd, GWL_STYLE,GetWindowLong(hwnd, GWL_STYLE) & (~(WS_CAPTION | WS_BORDER|WS_SYSMENU|WS_T
2007-04-03 14:24:00 4002
原创 修改图标的一种方法
传统地,总是把新的图标import进工程,并把老图标由工程中的去掉 ,再把新图标的ID改为老图标的ID。事实上有时候这种方法编译之后的exe可能无法运行。更好的方法是,在工程的/res目录下直接换掉文件,并重新编译工程。即可。但此处要注意,新图标必须与老图标大小相当,并且要么16*16要么32*32。
2007-03-30 09:50:00 1142
原创 编译错误error C2370: 'THIS_FILE' : redefinition的解决方法
某工程以前是有AboutBox的,后来被去掉了。近日在其中加入AboutBox,不想碰到如下错误:--------------------Configuration: MSNLike_dll - Win32 Debug--------------------Compiling...MainFrm.cppe:/work/messangerinterface/msnlike_dll/msnlike_d
2007-03-28 13:19:00 7683
原创 Miranda IM v0.6源代码中主窗体是如何创建出来的
在文件.../clist/clui.c中函数int LoadCLUIModule(void)中有代码 cli.hwndContactList = CreateWindowEx( DBGetContactSettingByte(NULL, "CList", "ToolWindow", SETTING_TOOLWINDOW_DEFAULT) ? WS_EX_TOOLWIND
2007-03-27 20:26:00 1048
原创 透明Static控件,仅文字透明
一、void CStaticAS::OnPaint() { CPaintDC dc(this); // device context for painting CRect rect; GetClientRect(&rect); CFont myFont; myFont.CreatePointFont (120,_T("宋体")); CFont
2007-03-27 10:52:00 1454
原创 版本信息的修改
可以自己在资源里添加一条VERSION信息。很多工程中并未包含VERSION,则直接修改目录下的version.rc文件。重新编连即可。
2007-03-19 11:09:00 679
原创 在CWnd::OnPaint()慎用return
通常MFC的OnPain起首处中会自行创建DCCPaintDC dc(this) 有时会select一些object到DC中如在函数结束前return,会导致dc被修改而未及恢复。使得程序的界面绘制出现异常。
2007-03-16 18:28:00 1323
原创 warning LNK4022;error LNK1152的连接错误以及解决
Miranda IM的插件需要导出函数为Load和UnLoad由于使用的CxImage库中存在名为Load的函数,故连接时出现如下错误:Linking..../MSNLike_dll.def : warning LNK4022: cannot find unique match for symbol "Load"./MSNLike_dll.def : warning LNK4002: "int _
2007-03-12 19:40:00 4631
原创 在dll中使用CXImage
1、由CodeProject 上下载CXImage,并编连之;2、在欲使用CxImage的dll工程中设置:project->settings->Object library->cximagecrtd.lib且将cximagecrtd.dll拷贝至目标dll工程目录中。3、在需要加入的相应头文件中加入#include "ximage.h"以贴png图至对话框为例4、在对话框中添加成员变量 H
2007-03-08 13:00:00 2238
原创 一个可根据当前文本调整自身长度的CStatic派生类
重载如下函数void CStaticAS::SetWindowText(LPCTSTR lpszString){ CRect rect; CSize size(0,0); GetWindowRect(rect); GetParent()->ScreenToClient(&rect); CClientDC dc(this); CFont * pOldFont=dc
2007-03-06 11:00:00 1306
原创 Win32 SDK中Context Menu使用大致流程
1、CreatePopupMenu创建菜单 2、TrackPopupMenu显示菜单,系统会自动发个WM_CONTEXTMENU消息。3、消息循环中使用WM_CONTEXTMENU处理,其他消息。Context Menu的应用(if in MFC)直至探出菜单Abstract: Windows不认为顶级菜单是Popup Menu!!!!!Method ONE/////////////////
2007-03-05 11:09:00 2328 1
原创 MFC程序中父窗体捕捉子窗体被点击的消息
只需要重载父窗体的OnCommand(WPARAM wParam, LPARAM lParam) 函数,而不需要重载子窗体的OnLButtonUp(UINT nFlags, CPoint point) 函数 典型地如下操作即可BOOL CDiaBoxDlg::OnCommand(WPARAM wParam, LPARAM lParam) { // TODO: Add your special
2007-02-28 16:29:00 2870
原创 Miranda IM v0.6源代码编译
<v:shapetype id="_x0000_t75" coordsize="21600,21600"o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f"stroked="f"><v:shape id="_x0000_i102
2007-02-10 10:50:00 1959 1
《Windows核心编程》随书光盘
2018-08-08
Statistical Analysis With Excel
2018-08-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人