在(CListView)列表视图中添加右键菜单的方法
摘要:使用弹出式菜单(PopMenu)弹 出式菜单(PopMenu)大家都熟悉,在WIN98的桌面上单击鼠标右键弹出的菜单就是弹出式菜单。通常情况下,弹出式菜单在鼠标右键单击时弹出,当 然,也可以根据需要随时弹出。 在VC++5的MFC中,管理菜单的类叫CMenu。下面我向大家介绍建立一个弹出式菜单的基本方法。一、在资源编辑器中建立一个菜单资源新建一个菜单资源,比如把菜单的ID号为IDC_POPMENU。此菜单有一项两层,即有一个可弹出的菜单项,而此菜单项的弹出内容即为将要建立的弹出式菜单的内容。至于每一个菜单项的消息映射,与一般的菜单相同。二、使用CMenu类对象CMenu类的成员函数较多,但建立
阅读全文
posted @
2012-02-15 16:34
知识天地
阅读(634)
推荐(0) 编辑
GetSystemMenu(FALSE)
摘要:参数为False时返回当前窗口系统菜单(窗口标题栏右键弹出的移动、大小、最大化等)的句柄。 系统菜单是指我们点击窗体左上角的小图标时所弹出的菜单,其中好象有“恢复”.“移动”.“最大化”.“最小化”.“关闭”这么几个按钮.这个菜单用普通 的方法是不能编辑与改变的,但是我们可以通过api函数getsystemmenu来得到它的句柄,然后通过菜单相关的api函数就能改变它了。如果括号中参数为FALSE,GetSystemMenu返回当前使用窗口菜单的拷贝的句柄。该拷贝初始时与窗口菜单相同,但可以被修改。如果此参数为TRUE,GetSystemMenu重置窗口菜单到缺省状态。如果存在先前的窗口菜单,
阅读全文
posted @
2012-02-15 16:33
知识天地
阅读(4448)
推荐(0) 编辑
利用IContextMenu接口实现Windows外壳的上下文菜单操作
摘要:http://www.comprg.com.cn/detail.asp?hw_id=2039
阅读全文
posted @
2012-02-15 16:32
知识天地
阅读(705)
推荐(0) 编辑
怎样获取系统右键菜单?
摘要:楼主dx79(dx79) 2001-02-12 15:08:00 在 VC/MFC / 基础类 提问急用 谢谢问题点数:0、回复次数:11Top1 楼lhxx(随风)回复于 2001-02-12 15:23:00 得分 0用GetSystemMenu试试Top2 楼Smile_Tiger(笑面虎)回复于 2001-02-12 15:29:00 得分 0节选-----------------58) 如何给系统菜单添加一个菜单项给系统菜单添加一个菜单项需要进行下述三个步骤:首先,使用Resource Symbols对话(在View菜单中选择Resource Symbols...可以显示该对话)定义
阅读全文
posted @
2012-02-15 16:32
知识天地
阅读(1824)
推荐(0) 编辑
在VC中实现模拟键盘,输入内容并显示在ListBox中。
摘要:网上找的,还没试过,希望对楼主有帮助模拟键盘按键 自动输入文字键盘对于每个操作电脑的人员来说是最熟悉不过的了。键盘上的按键可分为两类: 按下后会在电脑的输入窗口上出现对应字符的按键,如字母键和数字键等,我们称之为字符键;按下后虽然看不到字符但会产生控制作用的按键,如回车键、光标键等,我们称之为控制键。对于程序员来说,键盘上的每个按键都一样,无非是不同按键产生的键盘扫描码不同。在不同的操作系统下,键盘扫描码常常被转换为不同的编码以方便应用程序调用,比如在DOS系统下的ASCII码,在Windows系统下的虚拟键盘码等等。有时我们希望能以程序的方式模拟键盘按键,以达到自动输入文字或者控制操作的目的
阅读全文
posted @
2012-02-15 16:31
知识天地
阅读(3173)
推荐(0) 编辑
可判断焦点是否停在输入窗口
摘要:GetFocus()功能确定当前焦点位于哪个控件上。语法GetFocus ( )返回值GraphicObject。函数执行成功时返回当前得到焦点控件的引用,发生错误时返回无效引用。用法应用程序利用IsValid()函数可以检测GetFocus()是否返回有效的控件引用。同时,使用TypeOf()函数可以确定控件的类型。如何知道一个CWnd指针是什么控件Visual C ++ 6.0 Windows 95 已获得的一个CWnd指针,如何得知它是CButton、CEdit、CListCtrl等各种控件是的那一个使用GetClassName函数。如:voidCAboutDlg::OnLButto..
阅读全文
posted @
2012-02-15 15:03
知识天地
阅读(687)
推荐(0) 编辑
Directshow 捕捉程序的两个问题
摘要:之前写的程序里,一直存在两个问题。一个是程序运行时,点击打开视频后,关闭视频。再点击打开视频,就会弹出对话框“can’t build graph"。二是,无法改变采集的图像的大小,总是固定的320*240.注意,此处不是指显示窗口的大小。 结合查找的一些资料,终于解决了。 问题一:是Capturevidieo 类析构函数里,少释放了pVW。晕。网上找的类里,都漏了释放了。 问题二: 结合以下资料,解决了: 1(1)获得IAMStreamConfig接口hr = gcap.pBuilder->FindInterface(&PIN_CATEGORY_CAPTURE,&
阅读全文
posted @
2012-02-15 15:02
知识天地
阅读(3759)
推荐(0) 编辑
修改捕获图像的大小 directshow
摘要:ok,谢谢陆兄的指点,我也是这么做的,见代码,其中pAsfConfig是从asfwriter指针获取的.IWMProfile *ppProfile;pAsfConfig->GetCurrentProfile (&ppProfile);IWMStreamConfig* ppConfig;ppProfile->GetStream(0,&ppConfig); //获取视频流的/////设置视频流的属性IWMMediaProps *pMediaProps;ppConfig->QueryInterface(IID_IWMMediaProps,(void**)(&
阅读全文
posted @
2012-02-15 15:01
知识天地
阅读(619)
推荐(0) 编辑
使用SampleGrabber过滤器扑获图像
摘要:Sample Grabber过滤器是一个可以被插入流的过滤器,它有自己的缓冲,存放采样。如果你想从一个视频文件中简单的扑获一桢,那么我建议你使用Media Detector对象。Sample Grabber提供了更复杂的更灵活的控制。我们通过下面的步骤使用Sample Grabber过滤器:1、 指定你想要扑获的媒体类型在Sample Grabber 过滤器连接到别的过滤器之前你必须配置它。首先你要调用CoCreateInstance来创建Sample Grabber ,然后调用IfilterGraph::AddFilter来加载它到过滤图形中。然后查询IsampleGrabber接口。我们使
阅读全文
posted @
2012-02-15 15:00
知识天地
阅读(2154)
推荐(0) 编辑
在VC中如何才能得到当前屏幕的分辨率
摘要:可以使用下面的代码获得当前分辨率(桌面大小):m_Width=GetSystemMetrics(SM_CXSCREEN);m_Height=GetSystemMetrics(SM_CYSCREEN); 然后和你设计时的大小进行比较,计算出放大或缩小的倍数。再利用SetWindowPos函数重新调整控件的大小和位置。
阅读全文
posted @
2012-02-15 14:49
知识天地
阅读(416)
推荐(0) 编辑
如何动态修改窗口的Style
摘要:SetWindowLongModifyStyle
阅读全文
posted @
2012-02-15 14:37
知识天地
阅读(405)
推荐(0) 编辑
有谁用过sendinput摸拟一个鼠标击键?
摘要:我想用,但定义了MOUSEINPUT和INPUT结构,编译是时出现这个错误:E:\My document\VC++programs\13\13.cpp(152) : error C2065: 'MOUSEINPUT' : undeclared identifierE:\My document\VC++programs\13\13.cpp(152) : error C2065: 'INPUT' : undeclared identifier请问是为什么?如果能给出原码,就更好了。问题点数:30、回复次数:17Top1 楼Wargod2002(Wargod2002)
阅读全文
posted @
2012-02-15 14:36
知识天地
阅读(2500)
推荐(0) 编辑
如何用SendInput模拟键盘的组合键使用?
摘要:请高手给出详细的代码,如ALT+V的使用。谢谢!问题点数:100、回复次数:5Top1 楼laiyiling(陌生人[MVP])回复于 2004-06-26 16:43:04 得分20模拟发送键盘消息按下WIN+D键,keybd_event(VK_LWIN,0,0,0);keybd_event('D',0,0,0);keybd_event(VK_LWIN,0,KEYEVENTF_KEYUP,0);keybd_event('D',0,KEYEVENTF_KEYUP,0);Top2 楼smallmaster(来自腐败机构FBI)回复于 2004-06-26 17:2
阅读全文
posted @
2012-02-15 14:36
知识天地
阅读(3367)
推荐(0) 编辑
遍历子窗口
摘要:void SuperbikeControl::GetChildWindow(CWnd *cwnd){ CWnd *wnd = cwnd->GetWindow (GW_CHILD); if (wnd != NULL) { wnd->PostMessageW (WM_KEYDOWN, VK_ESCAPE, 0); Sleep(50); wnd->PostMessageW (WM_KEYUP, VK_ESCAPE, 0); PlaySound(_T("sound\\bell.wav"), NULL, SND_FILENAME | SND_ASYNC); Slee
阅读全文
posted @
2012-02-14 14:22
知识天地
阅读(515)
推荐(0) 编辑
ModifyStyle函数的用法
摘要:1.作用:Call this member function to modify a window's style.2.函数原型:BOOL ModifyStyle( DWORD dwRemove, DWORD dwAdd, UINTnFlags);3.参数含义:dwRemove指定要删除的扩展属性,dwAdd指定修改时要增加的扩展属性,nFlag标志一般设置为0。4用法:1、修改控件的原有属性用ModifyStyle(1,WS_DISABLED);(实际测试时只要是>=0的整形数就行)2、改回来的话要用ModifyStyle(WS_DISABLED,1);(实际测试时只要是>
阅读全文
posted @
2012-02-14 14:21
知识天地
阅读(1083)
推荐(0) 编辑
程序关闭是总是出异常解决方法
摘要:这类异常主要是由线程程未被杀死所致,只要添加一个onclose事件,在里面添加关闭线程代码,程序就不会在有异常,很灵的,刚发现的,记录一下。
阅读全文
posted @
2012-02-14 14:19
知识天地
阅读(258)
推荐(0) 编辑
SetWindowLong
摘要:函数功能:该函数改变指定窗口的属性.函数也将指定的一个32位值设置在窗口的额外存储空间的指定偏移位置。函数原型:LONG SetWindowLong(HWND hWnd,int nlndex,LONG dwNewLong);参数:hWnd:窗口句柄及间接给出的窗口所属的类。nlndex:指定将设定的大于等于0的偏移值。有效值的范围从0到额外类的存储空间的字节数-4:例如若指定了12位或多于12位的额外类存储空间,则应设为第三个32位整数的索引位8。要设置其他任何值,可以指定下面值之一:GWL_EXSTYLE:设定一个新的扩展风格。GWL_STYLE:设定一个新的窗口风格。GWL_WNDPROC
阅读全文
posted @
2012-02-14 14:19
知识天地
阅读(1306)
推荐(0) 编辑
VC透明位图的绘制
摘要:绘制"透明"位图是指绘制某一位图中除指定颜色外的其余部分,我们称这种颜色为"透明色"。通过将位图的背景色指定为"透明色",在绘制时,不绘制这部分背景,而仅绘制图像,这样就可以将位图中图像透明地绘制到窗口上。绘制"透明"位图的关键是创建一个"掩码"位图(mask bitmap),"掩码"位图是一个单色位图,它是位图中图像的一个单色剪影。在Windows编程中,绘图都要用到设备描述表,我们需创建两个内存设备 描述表:位图设备描述表(image DC)和"掩码"
阅读全文
posted @
2012-02-14 14:17
知识天地
阅读(3341)
推荐(0) 编辑
透明位图的显示
摘要:包含透明色的位图的绘制方法有多种,最简单的方法是调用现成的函数:TransparentBlt,也可以通过自己的代码实现类似 TransparentBlt的功能,实现过程也有两种形式,一种是事先做一张掩码位图,另一种是动态生成掩码位图。本文将介绍动态生成掩码位图绘制具有 透明区域位图的方法。一、TransparentBlt 函数的使用TransparentBlt 函数在Windows98/Windows2000以上版本运行,系统中需要包含 Msimg32.dll,使用时可以链接 Msimg32.lib。Windows98下的TransparentBlt会产生资源泄漏,所以不建议在WIN98下使用
阅读全文
posted @
2012-02-14 14:16
知识天地
阅读(776)
推荐(0) 编辑
请问如何在对话框里弹出对话框?
摘要:我做了一个单文档界面的东东里面一个菜单项点击后弹出一个对话框 CMainFrame::OnXXXXX()这个对话框里有个按钮,按它再弹出一个对话框,不知怎么做啊?高手指点.......问题点数:25、回复次数:9Top1 楼songbai(O'Sanile)回复于 2002-02-14 19:44:36 得分5写一个对话框的类,如 class_dlg,然后在那个按钮里的事件中写class_dlg dlg;dlg.DoModal();就行了。Top2 楼Cline(营营[无意苦争春,贯看群芳谢])回复于 2002-02-14 19:45:10 得分5...CMyDialog::OnBut
阅读全文
posted @
2012-02-14 14:07
知识天地
阅读(376)
推荐(0) 编辑