自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (4)
  • 收藏
  • 关注

转载 ShowErrMsg()

<br />void ShowErrMsg() <br />{ <br />    LPVOID lpMsgBuf;<br />    DWORD dw = GetLastError(); <br />    FormatMessage(<br />        FORMAT_MESSAGE_ALLOCATE_BUFFER | <br />        FORMAT_MESSAGE_FROM_SYSTEM,<br />        NULL,<br />        dw

2010-12-30 15:27:00 825

原创 关于动态库的几个关键函数

1.DllGetClassObject 用于创建类厂对象2.类厂对象定义个CreateInstance3.CoCreateInstance,客户程序调用此函数,此函数内部调用DllGetClassObject创建类厂对象,然后调用类厂的CreateInstance创建com对象4.DllRegisterServer 用于注册com组件到注册表,如果com组件没有定义此函数或没有引出此函数,使用RegSvr32注册这个组件时会出现找不到入口点5.DllUnregisterServer反注册

2010-12-30 14:38:00 541

原创 vc定义全局变量的问题

全局变量实际分为"文件范围"内的全局变量和"工程范围"内的全局变量 文件范围的:1.由于c++编译器是按文件为单位的,所以普通定义的全局变量其作用域也仅限于所在文件 工程范围的:1.若定义个全局变量,想让其它文件也能使用,则必须把它声明为extern类型(

2010-12-30 13:58:00 710

原创 关于virtual虚函数

1.如果父类定义的是普通virtual函数,(1)父类必须提供一个实现(2)子类如果不需要实现它,可以不在函数成员中列出来,或者类文件中列出来,不提供实现也可以;子类如果要实现它,则必须在函数成员中列出来2.如果父类定义的是纯virtual函数(1)如果子类仍是个抽象类,可以不声明它(2)如果子类不是抽象类,则必须声明它,因为编译器需要用它来制作虚函数表3.在子类列表中

2010-12-30 11:12:00 433

原创 编译时一些莫名其妙的错误

1.fatal   error   C1004:   unexpected   end   of   file   found由于class定义忘了分号;

2010-12-30 11:02:00 574

原创 如何在VC++6中实现窗口最大化、最小化的设置

ShowWindow(   SW_SHOWMAXIMIZED   ); ShowWindow(   SW_SHOWMINIMIZED   );

2010-12-29 18:18:00 2131

转载 (转)C++中extern “C”含义深层探索

<br />1.引言<br />  C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有明显的不同。<br />  2.从标准头文件说起<br />  某企业曾经给出如

2010-12-28 21:32:00 329

原创 树状控件的基本用法

1.加图标    m_listImage.Create(16, 16, ILC_COLOR8|ILC_MASK,2,2);    m_listImage.Add(AfxGetApp()->LoadIcon(IDI_ICON_WORKGROUP));    m_list

2010-12-28 14:21:00 578

原创 为什么QueryInterface最后一个参数是(void**),而不是(void*)

1.首先看普通指针参数传递.int n = 0;void func(int *n){   *n = 1;}func(&n);之后n的值变成了1注意点:(1)参数类型是 (int*)类型,函数实际可以表示成 void func( (int*) n)(2)既然参数是指向整形的指针类型,则传参的时候,自然也是传指针 &n2.再看QueryInterface.(1)首先明白一点,函数的参数类型取决它如何被调用,也就是需要用它获取什么.在com中,QueryInterface用于获取接口指针(注意,不是接口对象,而是

2010-12-28 10:10:00 744 1

原创 双击dsw,打开一个新的vc

我的电脑   -   工具   -文件夹选项   -   文件类型   -   选择dsw文件   删除,新建,文件扩展名输入dsw,确定.在下面"dsw"扩展名的详细信息里面点"高级",点"新建",操作里面输入open,用于执行的操作程序里面,点浏览选中vc的MSDEV.exe

2010-12-28 09:20:00 566

原创 vc的相对目录

<br />1.用于打开的文件应该放在工程目录下,而不是debug或release目录下<br />2.对于动态库使用的文件,也应该放在本工程目录下,而不是跟动态库放在一个目录下,因为动态库被加载后是运行在本工程的进程里

2010-12-26 15:26:00 649

原创 包含头文件

只要把头文件放在工程目录中,即便没有添加到工程中,只要使用#include ""包含,工程也可以使用它

2010-12-26 12:22:00 438

转载 模块定义(.def)文件说明

<br />MSDN中的名词解释<br />模块定义 (.def) 文件为链接器提供有关被链接程序的导出、属性及其他方面的信息。生成 DLL 时,.def 文件最有用。由于存在可代替模块定义语句使用的链接器选项,通常不需要 .def 文件。也可以将 __declspec(dllexport) 用作指定导出函数的手段。在链接器阶段可以使用 /DEF(指定模块定义文件)链接器选项调用 .def 文件。<br />如果生成的 .exe 文件没有导出,使用 .def 文件将使输出文件较大并降低加

2010-12-25 23:12:00 1244

转载 HMODULE 到底定义的是什么

定义是这样的:typedef HINSTANCE HMODULE;<br /><br />再看看HINSTANCE<br />typedef HANDLE HINSTANCE;<br /><br />那HANDLE又是什么呢?<br />typedef PVOID HANDLE;<br /><br />PVOID又是什么呢?<br />typedef void *PVOID;<br /><br />现在明白了吧》<br />其实这些都可以称为句柄,为了表述的方便,所以对于不同

2010-12-25 21:14:00 2126

转载 COM字符转换函数编译问题

<br />unresolved external symbol "void __stdcall _com_issue_error(long)" (?_com_issue_error@@YGXJ@Z)<br />unresolved external symbol "char * __stdcall _com_util::ConvertBSTRToString(unsigned short *)" (?ConvertBSTRToString@_com_util@@YGPADPAG@Z)<br /

2010-12-25 20:12:00 449

原创 动态库学习积累

1.建立win32DLL。若选择 An empty DLL project ,则向导不生成任何文件若选择 An simple DLL project ,则向导stdafx.h stdafx.cpp文件(stdafx并不是MFC专用的)2.win32的 DLLMain 会被声明为  APIENTRY3.MFC类型的动态库,建立时选项Regular dll with mfc statically linked,意思并不是说本动态库被使用的时候被静态链接。而是说这个动态库,它在使用MFC的时候,静态链接MFC。A

2010-12-25 20:08:00 376

原创 给定两列数据,生成树结构

数据类似于:上级部门              部门 山东                    济南湖南                    长沙                          山东济南                    历下

2010-12-24 16:16:00 783

原创 ComboBox如何禁止输入,只允许选择

style 改为Droplist

2010-12-24 09:25:00 11338 1

原创 简单工厂模式/策略模式/装饰模式

1.简单工厂模式,简单说就是封装/继承2.策略模式,也是侧重于继承,策略模式特指具备唯一性选择的情况,比如人穿衣服,只允许其穿一件衣服,自然,衣服需要用继承实现.3.装饰模式.装饰模式与策略模式有一点类似,就是继承.仍然举人与衣服的例子,衣服仍然需要继承实现.但是,不同的是.这里不用两个类,用一个类,人看做是父类,衣服看做是其子类,关键的是,衣服维护一个"人"成员.这样就变成了,不是人穿衣服,而是衣服往人身上穿.由此看来,装饰模式与策略模式很类似,都需要用继承,都需要在客户程序使用时做选择判断.唯一不同的是

2010-12-22 17:55:00 785

转载 sql语句中的union和union all

UNION指令的目的是将两个SQL语句的结果合并起来。从这个角度来看, 我们会产生这样的感觉,UNION跟JOIN似乎有些许类似,因为这两个指令都可以由多个表格中撷取资料。 UNION的一个限制是两个 SQL 语句所产生的栏位需要是同样的资料种类。另外,当我们用 UNION这个指令时,我们只会看到不同的资料值 (类似 SELECT DISTINCT)。 union只是将两个结果联结起来一起显示,并

2010-12-22 15:53:00 982

原创 如何增加动态库引出函数

在.def文件中增加即可.

2010-12-21 15:51:00 447

原创 双击VC对话框提示cannot add new member的解决方法

1.:如果出现这种情况,我们可以先把工程给关闭,然后删除 *.clw文件,然后再打开工程,并按CTRL+W打开ClassWizard,这里我们输入先前删除的文件的文件名,然后点确定,便可重新生成一次*.clw文件。(注意:这里的*代码你的工程,如:我的工程叫Test,那么我们就应

2010-12-18 11:17:00 910

转载 vc: ClassView不显示类的信息

打开工作空间时谈出对话框:Cannt access the ClassView information file.ClassView information will not be avaiable.然后再ClassView中的工程下显示0 files left to load.

2010-12-18 10:52:00 726

原创 VC中关于编译时候的错误提示:is not a precompiled header

<br />从project->settings->c/c++页,左边列表选择出错的相关文件,,选择Not using precomiled headers。

2010-12-17 18:10:00 1206

原创 如何手动触发"ComboBox选择改变"消息

            /* 消息触发CBN_SELCHANGE事件 */            WPARAM wParam = MAKELPARAM(IDC_COMBO_USER, CBN_SELCHANGE);            CSDJMDlg *pDlg = &(pView->m_Page_SDJMDLG);            HWND hWnd = ( (CComboBox *)( pDlg->GetDlgItem(IDC_COMBO_USER) ) )->m_hWnd; 

2010-12-16 19:26:00 4628

原创 判断窗口是否可用

IsWindowEnabled

2010-12-16 17:04:00 1023

原创 指针的使用

<br />      CUSTOMINFO *pcustinfo= new CUSTOMINFO;<br />        memset(pcustinfo,0x00,sizeof(CUSTOMINFO));<br />    <br />  CUSTOMINFO custinfo2;<br />        <br />        *pcustinfo = custinfo2;//pcustinfo仍指向原来的地址,不过存储内容与custinfo2一样了.等于传值.<br /

2010-12-16 12:23:00 280

原创 带切分的窗口中如何获取某块view的指针

<br />        CTabFormView1 * pView = (CTabFormView1 *)(((CMainFrame*)AfxGetMainWnd())->m_vSplitterWnd.GetPane(0,1));

2010-12-16 10:59:00 493

原创 VC如何通过消息驱使鼠标按下

<br />PostMessage(WM_COMMAND,IDC_STOP,0);               // IDC_STOP 为按钮ID

2010-12-16 09:38:00 496

原创 VC打开工程时 弹出 Visual SourceSafe Login的解决办法

点browse找到vss的安装路径,直接把安装文件夹名改掉.或者卸载vss(不过vss好像没有卸载程序)

2010-12-16 09:05:00 3571

原创 重叠窗口,需要改变下层窗口的状态时,改变内容后,需要SetWindowPos把该窗口置顶(位置并非就跑到上面了)

方法一:查看msdn的setwindowpos 示例:    ::SetWindowPos(m_hWnd,HWND_TOP,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);    /* frame窗口置前,否则节点不显示选中 */ 方法二:SetForegroundWindow(); 方法三:SetFocus();这种方法是最灵活的.但是要

2010-12-15 11:57:00 1059

原创 strlen

<br />        char *szUser = new char[32];<br />        memset(szUser,0x00,sizeof(szUser));<br /><br />        m_listUser.GetItemText(pNMListView->iItem,0,szUser,strlen(szUser));<br /> <br />这样是获取不到值的,因为此时的strlen(szUser)为0了;<br /> <br />应该用        m_li

2010-12-15 11:27:00 349

原创 view类也可以自定义消息

<br />view类也可以自定义消息

2010-12-14 16:12:00 409

原创 通过消息传输字符串

char *szUser = new char[32];    ......        PostMessage(WM_SETUSERSELECTED,0,(LPARAM)szUser); ......         char *szUser= (char *)lParam;       CString strUser;       strUser.

2010-12-14 14:35:00 413

转载 'operator <<' is ambiguous

'operator <<' is ambiguous<br /> class Time{<br />public:<br />  int hour, minute, second;<br />public:<br />  void set(int h, int m, int s){ hour=h, minute=m, second=s; }<br />  friend Time& operator++(Time& a);<br />  friend Time opera

2010-12-04 09:21:00 1346

转载 error LNK2001: unresolved external symbol "void __cdecl 怎么办

关于LNK2001错误的一些总结 在最开始的编程过程中,最常出现的错误就是LNK2001这个错误,究其原因,其实一句话可以解释:当程序调用函数(function1)时,没有找到function1具体的实现部分。最常见的例子和解释:     main   or

2010-12-03 13:18:00 5456

转载 winocc.cpp 279错误的解决方法

<br />程序编译时出现winocc.cpp 279错误,一般是使用了MoveWindow的问题<br />想在对话框onSize时触发函数,设置控件的大小<br /><br />程序一运行就执行了OnSize函数,此时控件还未生成,此时对控件进行MoveWindow操作就会出现winocc.cpp 279错误<br /><br />解决的方法就是,在控件MoveWindow时判断一下是否存在<br />if(m_content.m_hWnd)     //m_content为控件变量名,

2010-12-02 15:35:00 1973

原创 socket传输文件

<br />在传输文件时,每次传输文件块的大小很影响速度,比如1024就比256快的多

2010-12-02 14:15:00 489

原创 CDC TextOut如何使字的背景透明

cdc-> SetBkMode(TRANSPARENT); cdc-> TextOut( "... ");

2010-12-01 17:39:00 5146

原创 dc重绘树状结构

void CLeftView::OnPaint() {    CPaintDC dc(this); // device context for painting        // TODO: Add your message handler code here

2010-12-01 09:53:00 651

TCP/IP协议卷一

TCP/IP协议卷一,英文版 非得凑够20个字吗。

2011-12-27

飞鸽传输源码(VC6)

飞鸽211版代码,已经转换,可在VC6下编译通过

2011-12-26

simple.txt

用来被转换为.dic文件的.txt文件

2007-11-19

jsp由浅入深

jsp入门的好帮手,对jsp基础语法有原理性的阐述

2007-10-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除