- 博客(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
转载 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
2009-02-25
Developing Series 60 Applications: A Guide for Symbian OS C++ Developers
2009-02-25
Unified Modeling Language User Guide
2008-07-07
递归实现n重循环
2008-06-26
VC访问Postgre数据库
2008-05-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人