自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

冷秋魂的专栏

珍惜才能拥有

  • 博客(125)
  • 资源 (11)
  • 收藏
  • 关注

原创 WebBrowser控件——使用COM组件经验

 在实际开发的过程中,遇到这样一个问题,使用WebBrowser控件打开一个网页,网页里面加载了一个OCX控件,需要实现两个功能,一个是调用网页中JavaScript函数,一个是移动网页中滚动条的位置。两个功能都用到了COM组件技术。同样都遇到了一个问题,在主程序关闭时,网页中的OCX控件出现异常。开始怀疑是OCX控件在释放资源时有问题,后来调试发现WebBrowser控件关闭时,OCX控

2007-12-26 21:10:00 4064 3

原创 WebBrowser控件——设置滚动条位置

 遇到一个问题:在用WebBrowser控件打开网页后,让网页中的滚动条滚动到最底部。在网上找到了方法:用DCOM组件技术,获取HTML接口指针。(前一阵做调用网页中的JavaScript函数也是采用这种技术)。代码如下:boolput_scrollTop(){         HRESULT hr;         CComPtr spDisp;        

2007-12-26 21:08:00 7095 3

原创 在程序中执行命令行参数

 使用下面函数:WinExec( szCmdLine.c_str(), SW_SHOW ); ShellExecute函数也可以执行命令行参数,有时WinExec函数执行结果并不理想,函数返回值是正确的,但是实际上执行却没有成功。我曾在注销一个自定义控件时发生过此问题,后来用ShellExecute函数代替。ShellExecute( NULL,            

2007-12-26 21:06:00 1697

转载 在程序中注册ActiveX控件(.OCX)的函数

 .ocx文件可以放在任何目录,包括桌面上。注册有两种方法:   (转)其一:  注册:RegSvr32   c:/windows/system/文件名.OCX反注册:RegSvr32   /u   c:/windows/system/文件名.OCX 其二:.ocx文件是一个特殊的动态连接库,输出两个函数一个注册,一个反注册:注册:DllRegisterSe

2007-12-26 21:04:00 1200

原创 VC控件——CTreeCtrl中HitTest的用法

 用来获取鼠标当前位置,所在的Item句柄。 HTREEITEM  hItem;const MSG* pMessage;CPoint     pt;UINT       nFlags;pMessage = GetCurrentMessage();ASSERT ( pMessage );pt = pMessage->pt;ScreenToClient( &

2007-12-26 21:03:00 5414 1

原创 鼠标单击窗口标题栏,不能拖动窗口

  afx_msg UINT OnNcHitTest( CPoint point ); UINT C***Dlg::OnNcHitTest( CPoint point ){        UINT nHitTest;        nHitTest = CWnd::OnNcHitTest( point );          if( nHitTest == HTCAPT

2007-12-26 21:00:00 2518

原创 VC控件——CToolTipCtrl的用法

 很多的界面设计都需要有Tip提示,下面描述一下Tip的简单使用方法: 1. 首先要New一个CToolTipCtrl的对象m_pContentTip 2. 调用CToolTipCtrl的create函数,指定其父窗口。可以为某个控件,也可以为this。一般设为this。   m_pContentTip->Create( this, TTS_ALWAYSTIP );3. A

2007-12-26 20:59:00 2774

原创 VC控件——让Static控件的文本具有滚动效果

 在网上查找一些方法,也在codeproject上下载了几个源码,发现都没有达到我的目的。于是自己研究出一个方法: 实现效果:文本从右向左滚动,初始字符串在Static控件左边逐渐消失,当全部消失后,从Static的右边向左一点点的显示出来。如果Static控件的文本变化,则滚动从头开始。实现方法分为两步:1. 从Static控件左边一点点消失    设置Timer,T

2007-12-26 20:57:00 4006

原创 获取窗口句柄的几个函数

 GetActiveWindowSetFocus、GetActiveWindow等并不是全局的API函数,他们只针对于当前的县城。如果当前线程创建的窗口中没有激活的窗口,GetActiveWindow就会返回空值。 GetForgroundWindow与GetActiveWindow的区别在一个Button按钮的相应函数中来获取这两个函数所返回的句柄是一样的,其他情况则未必

2007-12-26 20:56:00 1669

原创 CImageList使用指南

 1.综述在MFC中CImageList类封装了图像列表控件的功能,图像列表是一个具有相同大小的图像(可以是不同类型)的集合,其主要用于应用程序中大规模图标的存储。该控件是不可见的,通常与其它如CListBox,CComboBox,CComboBoxEx,CTabCtrl以及CTreeCtrl一起使用,为他们提供图标资源。图象的每个集合中均以0为图象索引基数,可以把这些图标看成是以数组方

2007-12-26 20:53:00 1764 2

原创 使用SkinMagic工具为对话框换肤的基本方法

  一、    制作皮肤文件首先要学会使用SkinMagicBuilder工具制作皮肤文件。1.       新建/删除皮肤窗口SkinMagic Toolkit中有两种方法新建皮肤窗口:(1)   使用菜单栏中的“Object”项,选择“Window”-〉“SkinFrameWindow”即可;(2)   使用Skin Object工具栏。首先选中“View”菜单下的

2007-12-26 20:39:00 3591

原创 AfxMessageBox——模态与非模态的问题

 在实际编程中发现:1,  先弹出一个AfxMessageBox,使用全局的,它为模态的。2,  再创建一个非模态对话框,假设为Dialog1。3,  当Dialog1关闭时,AfxMessageBox变为非模态的。 最后总结了两种情况:1,  先弹出AfxMessageBox,后创建非模态对话框。2,  先创建非模态对话框,后弹出AfxMessageBox。

2007-12-26 20:35:00 6900 1

原创 非模态对话框的释放方法

 异常听到下面函数:BOOL   CWnd::ContinueModal()   {  return   m_nFlags   &   WF_CONTINUEMODAL;  }     因为窗口没有WF_CONTINUEMODAL风格    1,    如果是模态对话框   如果以下面的方式来使用也会有这个问题     CTestDialog   a

2007-12-26 20:33:00 1189

原创 创建非模态对话框

 模态对话框是DoModal出来的,而非模态对话框是Create创建的。 CTestDlg* oCTestDlg;oCTestDlg = new CTestDlg (this);oCTestDlg->Create( IDD_MEDIA_SERVER_SPACE_ALERT, this );CRect rect;this->GetClientRect( &rect )

2007-12-26 20:31:00 1413

原创 按钮失去焦点

 按钮失去焦点的响应函数是OnKillFocus,可以继承CButton类,然后重载OnKillFocus函数,当捕获到按钮失去焦点时,处理自定义的操作。        值得一提的是,EnableWindow函数,可以引发按钮焦点的失去,disable按钮失去焦点,enable按钮得到焦点。 

2007-12-26 20:29:00 3004

原创 屏蔽程序弹出的帮助文件提示

 1,我先屏蔽了F1键,但是没好用。BOOL CSettingDlg::PreTranslateMessage(MSG* pMsg){    // TODO: ここに特定なコードを追加するか、もしくは基本クラスを呼び出してください。    if ( pMsg->wParam == VK_F1 )    {        return FALSE;    } 

2007-12-26 20:27:00 780

原创 去掉对话框在任务栏中的显示框

  ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW,0); 

2007-12-26 20:25:00 982

转载 VC控件--CListCtrl使用技巧(二)

20. listctrl的subitem添加图标      m_list.SetExtendedStyle(LVS_EX_SUBITEMIMAGES);      m_list.SetItem(..); //具体参数请参考msdn  21. 在CListCtrl显示文件,并根据文件类型来显示图标      网上找到的代码,share      B

2007-12-26 18:22:00 1726

转载 VC控件--CListCtrl使用技巧(一)

1. CListCtrl 风格      LVS_ICON: 为每个item显示大图标      LVS_SMALLICON: 为每个item显示小图标      LVS_LIST: 显示一列带有小图标的item      LVS_REPORT: 显示item详细资料      直观的理解:windows资源管理器,“查看”标签下的“大图标,小图标,列表,详细资料”

2007-12-26 18:20:00 1284

原创 程序图标的设计

在文件夹下有集中图标大小显示:缩略图、列表等。总共有三种分辨率大小,48*48、32*32、16*16在做程序使用的ico文件时,专业人士做出来,一个ico文件是包含几张不同分辨率的图片的。http://www.microsoft.com/china/msdn/archives/library/dnwxp/html/winxpicons.asp在VC6.0加载ico文件时,自动将其

2007-12-26 18:18:00 867

原创 刷新--单独刷新某个控件

在给对话框加上皮肤后,发现一个问题:对话框上的Static控件显示的文字不刷新,又不想使用Invildate函数将整个界面都重绘一下。只刷新Static控件的方法如下:      CRect rect;     GetDlgItem( IDC_STATIC_INFO_TEXT )->GetWindowRect( &rect );      ScreenToClient

2007-12-26 18:15:00 2051

原创 VC控件--控件的大小与像素之间的转换

本人是做对话框的皮肤时遇到的问题,有人说用GetDialogBaseUnits函数,可惜将用此方法按照图片大小(以像素为单位)计算出来的对话框大小却不正确。不过先将此方法写出来,待正确了再来修改。 函数功能:该函数返回系统的对话基本单位,该基本单位为系统字体字符的平均宽度和高度。对于使用系统字体的对话框,可以用这些值在对话框模板之间转换,比如在对话框模板和像素之间。对于不使用系统字体的

2007-12-26 18:05:00 3063

原创 VC控件--用Spin控件完成对字符的增减

响应UDN_DELTAPOS消息 旋转按钮控件的消息UDN_DELTAPOS表示控件的位置将要改变 原理 , 重载Spin控件的UDN_DELTAPOS消息 , 将会多出如下函数: void CTestDlg::OnDeltaposSpin3(NMHDR* pNMHDR, LRESULT* pResult) {    NM_UPDOWN* pNMUpDo

2007-12-26 18:02:00 3288 3

转载 VC控件--微调控件使用和详细说明

一般应用:设置属性: Auto Buddy(自动取关联控件为TAB顺序前一个)Set Buddy Interger(使控件设置关联控件数值,这个值可以是十进制或十六进制)Wrap(数值超过范围时循环)Arrow keys(当按下向上和向下方向键时,控件可以增加或减小)OnInitDialog函数中设置控件数值范围:SetRange(0,255);旋转按钮控件     “旋转按钮控

2007-12-26 18:01:00 4096

原创 VC控件--在ListCtrl中加入CheckBox控件

(1)首先,设置list列表的风格ListView_SetExtendedListViewStyle    (m_lvTestList.m_hWnd, LVS_EX_CHECKBOXES | LVS_EX_FULLROWSELECT);使得list控件支持checkbox LVS_EX_CHEC

2007-12-26 17:55:00 11049

转载 [Inno Setup]闪屏、背景音乐、标签URL地址、关于按扭四合一

[Setup]AppName=FKtemps2.1(教学)AppVerName=FKtemps Ver 2.1(教学)AppPublisher=FKtemps(教学)AppVersion=2.1DefaultDirName=C:/Program Files/FKtempsDefaultGroupName=FKtemps2.1(教学);安装输出目录(默认.iss文件的Output下)

2007-12-26 17:52:00 5435 2

原创 刷新--界面刷新函数比较

一:什么时候才会发生重绘窗口的消息?      当需要更新或重新绘制窗口的外观时,应用程序就会发送WM_PAINT消息。对窗口进行重新绘制。二:Invalidate() -- RedrawWindow() -- UpdateWindow()三个函数有什么异同?      Invalidate()是强制系统进行重画,但是不一定就马上进行重画。因为Invalidate()只是通知系

2007-12-26 17:50:00 3013

转载 匈牙利记法

匈牙利表示法:    它通过在每一个表示符名字的前面放置一个数据类型助记符,为程序员提供了对标识符的即时识别。《1》MFC、句柄、控件及结构的命名规则。     Windows类型  样本变量    MFC类        样本对象     HWND         hWnd        CWnd*        pWnd     HDLG         hDlg      

2007-12-26 17:47:00 1640

原创 PreTranslateMessge与sendmessage

PreTranslateMessage()的处理过程如下:  首先判断该消息是否是一个线程消息(消息的窗口句柄为空的消息),如果是,交给DispatchThreadMessageEx()处理。MFC消息控制流最具特色的地方是CWnd类的虚拟函数PreTranslateMessage(),通过重载这个函数,我们可以改变MFC的消息控制流程,甚至可以作一个全新的控制流出来。  只有穿过消息队列的消

2007-12-26 17:45:00 1186

原创 使用CString常量时出现的问题

问题: error C2663: ATL::CSimpleStringT::GetBuffer : 2 オーバーロードに this ポインタのための必要な定義がされていません。        with        [            BaseType=wchar_t,            t_bMFCDLL=true        ]此问题出现情况:定义常量CS

2007-12-26 17:43:00 2791

原创 两个对话框类相互包含头文件遇到的问题

两个对话框的类:CTestDlg1  对应头文件TestDlg1.hCTestDlg2  对应头文件TestDlg2.h 当在TestDlg1.h中包含了TestDlg2.h后,在TestDlg2.h中再包含TestDlg1.h时编译就会出错。 可以这样使用:TestDlg2.h #include TestDlg1.h(如果还有错,可以在此处只声明cla

2007-12-26 17:41:00 1304

原创 求高位字和低位字的值

有一个32位的整型数,拿DWORD为例。我要求它的高16位和低16位的值。也就是高位字和低位字的值。(一个字节8位,一个字两个字节) 开始我还用windows自带的计算器由十进制转为二进制,然后再取高16位和低16位的二进制,算出十进制的整数。后来发现,用HIWORD和LOWORD宏就可以算出。  

2007-12-26 17:38:00 4126

原创 SendMessage消息参数的用法

开始的时候传消息参数是这样用的:发送消息:double dSize;SendMessage( Hwnd, 自定义消息, 0, dSize );接收消息函数:void recieveMessage( WPARAM wParam, LPARAM lParam ){  double dSize = (double)lParam;}结果:在发送消息的时候,dSize

2007-12-26 17:37:00 2434

原创 CString Format一个LONGLONG型数据

LONGLONG型是64位有符号的整形数。第一位代表符号。所以LONGLONG型最大数为263 - 1 = 9223372036854775807; 方法如下:LONGLONG llMaxSize = 9223372036854775807;CString strLongToCstr;strLongToCstr.Format("%I64d", llMaxS

2007-12-26 17:35:00 6498 3

原创 在对话框第一次弹出时设置控件焦点

virtual BOOL OnInitDialog( );Return ValueSpecifies whether the application has set the input focus to one of the controls in the dialog box. If OnInitDialog returns nonzero, Windows sets the input

2007-12-26 17:32:00 2915 2

原创 对话框的关闭与对象的消亡

假设CTestDlg类CTestDlg dlg;dlg.DoModal()弹出一个对话框,如果收到WM_CLOSE消息后,对话框关闭,但是dlg对象没有被销毁,也没有调用析构函数,只是界面销毁了,实际上的变量等等都没有释放。仍然可以调用dlg的成员函数。 如果是主对话框,那么关闭对话框后,程序就退出了,这时会释放所有资源,主对话框类的析构函数在这时被调用。如果是主对话框

2007-12-26 17:30:00 929

原创 个人对Program Manager窗口的理解

  我说的可不是项目经理,而是在编程过程中发现的一个窗口。  在对窗口进行遍历的时候,发现有一个窗口标题为Program Manager的窗口,在网上搜了一下,csdn上有人说它与DeskTop相同,那就是桌面窗口。  在程序中用到Program Manager时发现的确和桌面窗口的画面一样,所以就把它理解为桌面窗口了。 

2007-12-26 17:28:00 2404

原创 UML活动图信号的表示方法

信号 如图7所示,在活动图中可以表示信号的发送与接收,分别用发送和接收标志来表示。发送和接收标志也可与对象相连,用于表示消息的发送者和接收者。  

2007-12-26 17:26:00 5221

转载 用例建模

      用例建模(Use Case Modeling)是使用用例的方法来描述系统的功能需求的过程,用例模型主要包括以下两部分内容:       用例图(Use Case Diagram)       确定系统中所包含的参与者、用例和两者之间的对应关系,用例图描述的是关于系统功能的一个概述。       用例规约(Use Case Specification)       针对

2007-12-26 17:24:00 1582

转载 用例模型指南

用例(Use Case)是一种描述系统需求的方法,使用用例的方法来描述系统需求的过程就是用例建模。用例方法最早是由Iva Jackboson博士提出的,后来被综合到UML规范之中,成为一种标准化的需求表述体系。用例的使用在RUP中被推崇备至,整个RUP流程都被称作是"用例驱动"(Use-Case Driven)的,各种类型的开发活动包括项目管理、分析设计、测试、实现等都是以系统用例为主要输

2007-12-26 17:23:00 6350

Symbian OS Communications Programming 2rd Edition

By Iain Campbell With Dale Self, Emlyn Howell, Ian Bunning, Ibrahim Rahman, Lucy Caffery, Malcolm Box, Matthew Elliott, Natasha Ho, Pierre Cochart, Tim Howes, Twm Davies Reviewed by Chris Notton, Dan Handley, David Harper, David Singleton, Donald Page, Graeme Duncan, Ian Bunning, John Roe, Malcolm Box, Tim Howes Head of Symbian Press Freddie Gjertsen Managing Editor Satu McNabb

2009-02-25

Developing Series 60 Applications: A Guide for Symbian OS C++ Developers

Developing Series 60 Applications: A Guide for Symbian OS C++ Developers By Leigh Edwards, Richard Barker ............................................... Publisher: Addison Wesley Pub Date: March 01, 2004 ISBN: 0-321-22722-0 Pages: 800

2009-02-25

《COM原理与应用》配套源码

潘爱民的《COM原理与应用》配套源码。

2008-07-18

Unified Modeling Language User Guide

《Unified Modeling Language User Guide》<br>Addison Wesley著。

2008-07-07

递归实现n重循环

使用递归实现N重循环,这里的N是不确定的。<br>此代码实现的功能描述如下:<br>1. 有一个字符串的矩阵,用vector< vector< CStirng > > 表示<br>2. 行与行之间进行排列组合<br>3. 输出所有组合的方式<br>

2008-06-26

获取Windows文件的缩略图

利用Windows Shell编程,获得文件的缩略图,并利用双缓冲技术显示到界面上。

2008-06-18

VC访问Postgre数据库

VC访问数据库有两种方法:一种是使用CDatabase和CRecord对象;另一种是利用ADO技术。这个程序实现了Postgre数据库的读写,以及存储过程的调用。

2008-05-09

VC读写Excel文件

用VC6.0来读取Excel文件中的数据;用VC6.0来生成一个Excel文件。

2008-05-09

Windows 网络编程技术

主要讲解WinSocket及网络相关的命令。

2008-03-19

Windows 网络编程技术

主要讲解WinSocket及一些网络相关的命令。

2008-03-19

VC6.0插件——WndTabs

很好用的VC6.0插件。

2007-11-13

空空如也

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

TA关注的人

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