MFC 小知识总结四
1 PlaySound 播放WAV格式的音乐
This function plays a sound specified by a file name, resource, or system event.
<strong>BOOL WINAPI PlaySound(
LPCSTR</strong> <em><a target=_blank class="synParam" href="http://write.blog.csdn.net/postedit" style="color: rgb(255, 153, 0); text-decoration: none;">pszSound</a></em><strong>,
HMODULE</strong> <em><a target=_blank class="synParam" href="http://write.blog.csdn.net/postedit" style="color: rgb(255, 153, 0); text-decoration: none;">hmod</a></em><strong>,
DWORD</strong> <em><a target=_blank class="synParam" href="http://write.blog.csdn.net/postedit" style="color: rgb(255, 153, 0); text-decoration: none;">fdwSound</a> </em>
<strong>)</strong>;
头文件
- #include < Mmsystem.h>
播放音乐
- PlaySound(L"1.wav", NULL, SND_ASYNC | SND_FILENAME );
// SND_ASYNC 异步播放 即: 运行完这一句。直接运行下一条语句 ,播放交由播放器播放着
// SND_SYNC 同步播放 即: 运行这一语句后。先不运行下一条语句。而是等播放器播放完这段音乐后。再运行下一条语句
循环播放
- PlaySound(currentDirectory, NULL, SND_ASYNC | SND_FILENAME |SND_LOOP);
停止播放
- PlaySound(NULL, NULL, SND_ASYNC | SND_FILENAME );
2 对话框初始化后立即进行的操作
假设把诸多操作都放在初始化中,那么,对话框须要非常长时间才完毕初始化。 因此。对话框会延迟出现。不能及时蹦出。
方法一 : 设置定时器
- SetTimer(1,50,NULL);
方法二:PostMessage() 发送消息 通知初始化完毕
3 更新对话框上 某几个控件的值
- void UPDATE(){
- UpdateData(FALSE);
- GetDlgItem(IDC_COMBO2)->RedrawWindow();
- GetDlgItem(IDC_EDIT2)->RedrawWindow();
- GetDlgItem(IDC_EDIT3)->RedrawWindow();
- GetDlgItem(IDC_EDIT4)->RedrawWindow();
- };
4 在屏幕上画图
- Bitmap bmp(400,100);
- Graphics grp(&bmp); // 先绘制在位图中
- CWindowDC dc(CWnd::GetDesktopWindow());
- Graphics gDeskTop(dc.GetSafeHdc()); //将位图绘制在屏幕中
- grp.FillRectangle(&backBrush,0,0,400,100);
- grp.DrawString(
- string.GetBuffer(),
- string.GetLength(),
- &myFont,
- rect,
- &format,
- &brush );
- gDeskTop.FillRectangle(&backBrush,0,0,400,100);
- gDeskTop.DrawImage(&bmp,0,0,400,100);
5 check box control 设置选中状态。并将其默认 不能再选择
- CButton CheckButton; //关联一变量
- m_CheckButton.SetCheck(1); //选中
- m_CheckButton.EnableWindow(FALSE); //不能再选
6 CFileDialog显示两种扩展名
- CFileDialog dlg(TRUE,NULL,NULL,0,"图片文件(*.jpg;*.bmp)|*.jpg;*.bmp||",this);///TRUE为OPEN对话框,FALSE为SAVE AS对话框
7 去掉标题栏的语句
- //去除标题和边框
- SetWindowLong(m_hWnd, GWL_STYLE, GetWindowLong(m_hWnd, GWL_STYLE)&(~(WS_CAPTION | WS_BORDER)));
- // 置对话框为最顶端并扩充到整个屏幕
- ::SetWindowPos(m_hWnd, HWND_TOPMOST, -(GetSystemMetrics(SM_CXBORDER)+1),
- -(GetSystemMetrics(SM_CYBORDER)+1), cx+1,cy+1, SWP_NOZORDER);
- 还原标题栏和边框
- SetWindowLong(this-> GetSafeHwnd(), GWL_STYLE, GetWindowLong(m_hWnd,GWL_STYLE) + (WS_CAPTION|WS_BORDER) );
- ::SetWindowPos(m_hWnd, HWND_TOPMOST, 500, 300, 600,500, SWP_SHOWWINDOW);
8 推断按下CTL+V组合键
- BOOL CRichEditDlg::PreTranslateMessage(MSG* pMsg)
- {
- if (pMsg->message==WM_KEYDOWN)
- {
- if (pMsg->wParam=='V'&&(GetKeyState(VK_CONTROL)<0))//按下CTRL+V
- {
- OnPaste();
- return TRUE;//直接返回 要不然会响应系统的粘贴消息 从而导致粘贴2遍
- }
- }
- //
- }
MFC 小知识总结四的更多相关文章
- MFC 小知识总结二
1 UpdateData 不能及时更新控件内容 原因: UpdateData是通过数据交换实现改变控件显示的.改变了之后必需要调用一次OnPaint才干实现刷新. 因此,若是在一个函数里重复多次调用有 ...
- MFC 小知识总结五
1 移动无标题对话框 响应WM_NCHITTEST 消息 [cpp] view plaincopy LRESULT CTimeJishiDlg::OnNcHitTest(CPoint point) ...
- MFC 小知识总结三
1 载入资源位图 1 获取程序实例 HINSTANCE m_hInst; m_hInst=AfxGetInstanceHandle(); //获取程 ...
- Android简易实战教程--第三十四话《 自定义SeekBar以及里面的一些小知识》
转载本专栏文章,请注明出处尊重原创:博客地址http://blog.csdn.net/qq_32059827/article/details/52849676:小杨的博客 许多应用可能需要加入进度,例 ...
- 【C#小知识】C#中一些易混淆概念总结(四)---------解析Console.WriteLine() 分类: C# 2014-02-05 17:18 1060人阅读 评论(0) 收藏
目录: [C#小知识]C#中一些易混淆概念总结 [C#小知识]C#中一些易混淆概念总结(二) [C#小知识]C#中一些易混淆概念总结(三) ------------------------------ ...
- 12个你未必知道的CSS小知识
虽然CSS并不是一种很复杂的技术,但就算你是一个使用CSS多年的高手,仍然会有很多CSS用法/属性/属性值你从来没使用过,甚至从来没听说过. 1.CSS的color属性并非只能用于文本显示 对于CSS ...
- JS的基本类型(小知识)
一:js中的基本类型: 基本类型:boolen, string ,number,null,undefined 引用类型:object,和函数 二.undedifned和null的区别: 1 undef ...
- uniGUI for C++ builder之杂七杂八小知识
uniGUI for C++ builder之杂七杂八小知识 2018年09月30日 22:16:05 中国银行之路在脚下 阅读数:41 标签: uniguibuilder 更多 个人分类: C++ ...
- 【C#小知识】C#中一些易混淆概念总结(七)---------解析抽象类,抽象方法
目录: [C#小知识]C#中一些易混淆概念总结--------数据类型存储位置,方法调用,out和ref参数的使用 [C#小知识]C#中一些易混淆概念总结(二)--------构造函数,this关键字 ...
随机推荐
- Python/Django 下载Excel2007
一.前提 上一篇,我写了下载Excel2003的博文,这里写下载Excel2007的博文的原因有三: 第一.Excel2003基本已经淘汰了 第二.Excel2003下载文件太大,不利于网络传输 第三 ...
- C#中Random
说明:C#中的随机数是一个伪随机数,随机数字从一组有限的数字选择以相同的概率,所选的数字不是完全随机的,因为使用数学算法来选择它们.在大多数Windows系统中,Random的15毫秒内创建的对象很可 ...
- python自动化测试学习笔记-1
一.什么是自动化 自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程.直白的就是为了节省人力.时间或硬件资源,提高测试效率,便引入了通过软件或程序自动化执行测试用例进行测试: 二.python ...
- HTML+CSS(12)
n CSS浮动和清除 Float:让元素浮动,取值:left(左浮动).right(右浮动). Clear:清除浮动,取值:left(清除左浮动).right(清除右浮动).both(同时清除上面的 ...
- JS高级——词法作用域
作用域 1.js中没有块级作用域 2.如果有块级作用域,那么下面代码将会是undefined undefined <script> for (var i = 0; i < 10; i ...
- VS2013支持多字节
使用插件 下载地址:https://www.microsoft.com/zh-cn/search/DownloadResults.aspx?rf=sp&q=mbcs
- (Entity framework 应用篇)把权限判断封装在数据库访问层
这里,我只是以一个例子,说一下简单权限控制,通过这个例子,大家可以设计庞大的权限管理层,把权限控制封装到数据库访问层,这样程序员就不用再写权限判断的代码了 首先,先看看我数据库DBContext的定义 ...
- CAD计算两曲线间最短路径(com接口)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...
- 【转】下载对应内核版本的asmlib
登陆oracle官网: http://www.oracle.com/ 注意:查询前,需要注册一个OTN账号,注册是免费的. 首页直接搜索“ASMLib”关键词(注意大小写) 进入搜索界面,点击第一项即 ...
- 04 学习java养成良好的写作习惯
1, 驼峰命名法 首字母大写 2, 写的时候大小中括号都补全,不忘记分号 不要都放在一行上 3, 缩进对其,tab键 4, 严格要求自己,养成良好的写作风格 5, javadoc可以将文档注释,直接生 ...