内容列表
Visual C++编程疑难问题解
原地址:http://www.yesky.com/20030211/1651565_2.shtml问题一:如何实现指定盘符的光驱弹出弹入  钥匙在这里: void ctrl_cdrom_door(LPCTSTR drivename ,//驱动器的名字如f:等.bool fOpen file://弹出时用true,弹入时用false){ TCHAR devstr[128],ctrlst
分类:VC语言 查阅全文
工作线程中调用UI线程创建的窗口的UpdateData会导致Assert的问题及解决办法.
    最近写了个代码,在UI线程中创建了一个窗口,然后在工作线程中修改了这个窗口中的一些数据,然后想用UpdateData(FALSE)来更新窗口的内容,结果在Debug版本下面就出现了Assert报错,说出错地方是wincore.cpp的888行和889行,就是这两句  ASSERT((p = pMap->LookupPermanent(
分类:VC语言 查阅全文
MFC中PretranslateMessage的实现
在MFC里面,Pretranslatemessage是一个很重要的虚函数。这个函数的作用这里就不谈了,很多地方都有涉及,这里只谈一下其实现的机制。谈到PretranslateMessage的实现,便不得不谈到MFC消息循环的实现。MFC通过CWinApp类中的Pumpmessage函数实现消息循环,但是实际的消息循环代码位于CWinThread中,CWinApp只是从CWinThread继承过来。
分类:VC语言 查阅全文
在VC中做一个选择文件夹的对话框
VC中没有现成的函数来选择一个文件夹,但这是经常会用到的,怎么办?自动动手,丰衣足食!使用SHBrowseForFolder,代码如下:#include <Shlobj.h>  int SelFolder(HWND hParent, CString &strFolder){    strFolder.Empty(); 
分类:VC语言 查阅全文
简单封装的一个彩色进度条【原创】
//========================================================= // // Copyright (c) 2000-2004 iWise Technologies,Co. Ltd. // All Rights Reserved. // // Product: iW988 // File: GradientProgressCtrl.
分类:VC语言 查阅全文
构造函数初始化表的使用规则
class A{    A(int x);//A的构造函数};class B{    B(int x, int y);//B的构造函数};B::B(int x, int y)      :A(x)      &
分类:VC语言 查阅全文
SAFEARRAY使用实例
SAFEARRAY使用实例 目录: SAFEARRAY使用实例... 1 目录:... 1 前言:... 1 何谓SAFEARRAY:... 1 创建SAFEARRAY: 2 方法一:使用SafeArrayAllocDescriptor在栈上创建一维数组... 2 方法二:使用SafeArrayAllocDescriptor和SafeArrayAllocData在堆上创建一维数组.
分类:VC语言 查阅全文
编辑数字的文本框CNumberEdit
NumberEdit.h   #ifndef __NUMBEREDIT_H__ #define __NUMBEREDIT_H__     class CNumberEdit : public CEdit {   public:        CNumberEdit(); &nb
分类:VC语言 查阅全文
[分享]总结:VC小知识!
(1) 如何通过代码获得应用程序主窗口的 指针?主窗口的 指针保存在CWinThread::m_pMainWnd中,调用AfxGetMainWnd实现。AfxGetMainWnd() ->ShowWindow(SW_SHOWMAXMIZED)//使程序最大化. (2) 确定应用程序的路径Use GetModuleFileName 获得应用程序的路径,然后去掉可执行文件名。Example:T
分类:VC语言 查阅全文
VC6自带的MFC4.2中CString.Format与CRecordSet的兼容性问题
今天我在BBS的VC版上转悠,看到由个哥们出了这样的问题:说他在编写MFC的数据库程序(ODBC)的时候出现了错误,再插入新记录后调用Update的时候出现了Assert,由于再BBS上,我和他通过信息交流了一下,发现他在AddNew和Update之间调用了Format。直觉告诉我问题出在这里。于是分析了一下。这个是我在BBS上发的帖子。 这个问题我仔细看了一下,问题出在MFC内部:下面所述仅适
分类:VC语言 查阅全文
Micorsoft.Net中数字签名技术
一、 Internet安全与数字签名 对于 Internet 应用程序的开发人员和用户而言,代码安全是一个主要问题。有下列风险:恶意的代码、被篡改的代码和来自未知站点或作者的代码。 为 Internet 开发时有两种保证安全的基本方法。第一种方法称为"沙箱"。在此方法中,应用程序只能访问一组特定的API,并且被从潜在危险的 API(如文件 I/O,程序可能在此毁坏用户计算机中
分类:VC语言 查阅全文
数据库连接池的设计考虑
数据库连接池的设计考虑 周末检到本J2EE的书翻了两下(1200多页,我靠),其中有提到JDBC的连接池,小有兴趣,因为我的VC-ADO程序也可以考虑实现个简单连接池来用用。ADO的连接有几个特点:1.它不是线程安全的。容易造成事务死锁。一般单条sql的不会死锁,但比如执行事务或游标时就很容易死锁掉.所以一般的多线程程序不提倡重用同一个ADO Connection2:ADO会自己管理OLEDB
分类:VC语言 查阅全文
开一新窗口监视TRACE的工具,Release版本也可以TRACE
  经常在程序的Release版本发现BUG,但Debug版本又查不到,或者是在没有安装开发环境的PC上才能重现该BUG,此时很想看看程序执行过程中的数据情况,于是笔者就想写个程序,能够在Release版本和未装开发环境的情况下也可以使用TRACE的程序,现已完成,且经过很多朋友的使用测试,再此感谢他们的支持与帮助,并祝大家新年快乐!  使用时执行xTraceMonitor.exe,会出现一个小窗
分类:VC语言 查阅全文
深入 CSocket 编程之阻塞和非阻塞模式
适合初中级读者阅读 有时,花上几个小时阅读、调试、跟踪优秀的源码程序,能够更快地掌握某些技术关键点和精髓。当然,前提是对这些技术大致上有一个了解。 我通过几个采用 CSocket 类编写并基于 Client/Server (客户端 / 服务端)的网络聊天和传输文件的程序 ( 详见: 源代码参考 ) ,在调试这些程序的过程中,追踪深入至 CSocket 类核心源码 SockCore.cpp
分类:VC语言 查阅全文
如何触发右键菜单的行为
虽然这是一个很简单的操作,但却耗费了我不少的时间,主要是我对消息机制没有充分的理解吧,最后终于在codeproject中找到了类似的例子,自己也顿开毛塞,写这篇文章的目的是对前面做的工作的一个总结,也想将自己的一些经验和大家分享,避免重走弯路。要实现标题中所说的功能,首先要了解Windows的消息机制,看了一篇专门讲述消息机制的文章,觉得很好,就将其中重要部分摘出来作为本文的铺垫(这篇文章来自雷神
分类:VC语言 查阅全文
在菜单条上添加泡泡提示
该功能的实现来源于codeproject上面的一个例子《Tooltips for Menu Item and popup menuitem》,其实例子讲的步骤很简单,不过我不打算简单的翻译一下,林语堂先生不是说:“只用一样东西,不明白它的道理,实在不高明”。   实现该功能的核心在于作者自己建立的一个MenuToolTip类,182行的代码实现了菜单提示
分类:VC语言 查阅全文
VC 和 MFC 的一些常见问题
如何抛出(throw)由CUserException派生的异常? 当我试图捕获(catch)一个派生类异常时,我得到以下错误"error C2039:'classCMyException': is not a member of 'CMyException' 'classCMyException': undeclared identifier 'IsKindOf': cannot conver
分类:VC语言 查阅全文
对话框中增加状态栏,并且鼠标在不同位置可以显示不同数据
//---------------------------//------本程序主要是在对话框中增加状态栏,自己绘制,主要有开始就可以显示数据//------还可以当移动到一个控件上面,也可以在状态栏中显示数据,变化//---------使用button 可以在程序中动态改变状态栏的中的信息//------------本陈不都写在---- ****Dlg.cpp 文件里面,不需要其他的//----
分类:VC语言 查阅全文
在Windows中从DC读取文本行高的问题
在处理打印时,有时需要提前计算分页情况,或者是对报表头尾进行区域边框汇制,也就是需要提前计算文本的行高(在实际输出前)。做法是将文本的字体选进DC,然后从DC中取出TextMetric,再从中取出字高和间距进行计算。在实际输出(打印或预览)时,再次重新计算行高,以便输出(采用Textout需要区域参数)。 发现问题:如果输出到对话框(实现打印预览)时,重新计算的行高与之前计算的行高有区别。于是,
分类:VC语言 查阅全文
IntelC++8.0与VC7.1编译器使用比较【原创】
 IntelC++8.0与VC7.1编译器使用比较【原创】   前言:intel编译器以效率著称,下面是笔者使用的一些比较数据,因为ijllib和cximage程序都很完善,所以比较数据差别不大,仅作参考,请勿对号入座。转载请保留完整文档,‘天衣有缝’原创。   无奔2优化编译时长对比:(IDE均为Visual Studio 200
分类:VC语言 查阅全文
<< 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 >>