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>;

头文件 

  1. #include < Mmsystem.h>



播放音乐

  1. PlaySound(L"1.wav", NULL, SND_ASYNC | SND_FILENAME );

// SND_ASYNC  异步播放     即: 运行完这一句。直接运行下一条语句  ,播放交由播放器播放着

// SND_SYNC    同步播放     即:  运行这一语句后。先不运行下一条语句。而是等播放器播放完这段音乐后。再运行下一条语句



循环播放

  1. PlaySound(currentDirectory, NULL, SND_ASYNC | SND_FILENAME |SND_LOOP);

停止播放

  1. PlaySound(NULL, NULL, SND_ASYNC | SND_FILENAME );

2 对话框初始化后立即进行的操作

假设把诸多操作都放在初始化中,那么,对话框须要非常长时间才完毕初始化。 因此。对话框会延迟出现。不能及时蹦出。

    方法一 : 设置定时器 

  1. SetTimer(1,50,NULL);

方法二:PostMessage() 发送消息 通知初始化完毕

 3  更新对话框上 某几个控件的值

  1. void UPDATE(){
  2. UpdateData(FALSE);
  3. GetDlgItem(IDC_COMBO2)->RedrawWindow();
  4. GetDlgItem(IDC_EDIT2)->RedrawWindow();
  5. GetDlgItem(IDC_EDIT3)->RedrawWindow();
  6. GetDlgItem(IDC_EDIT4)->RedrawWindow();
  7. };

4  在屏幕上画图

  1. Bitmap bmp(400,100);
  2. Graphics grp(&bmp);  // 先绘制在位图中
  3. CWindowDC dc(CWnd::GetDesktopWindow());
  4. Graphics gDeskTop(dc.GetSafeHdc());       //将位图绘制在屏幕中

  1. grp.FillRectangle(&backBrush,0,0,400,100);
  2. grp.DrawString(
  3. string.GetBuffer(),
  4. string.GetLength(),
  5. &myFont,
  6. rect,
  7. &format,
  8. &brush );
  9. gDeskTop.FillRectangle(&backBrush,0,0,400,100);
  10. gDeskTop.DrawImage(&bmp,0,0,400,100);

5 check box control  设置选中状态。并将其默认 不能再选择

  1. CButton CheckButton;   //关联一变量
  1. m_CheckButton.SetCheck(1);               //选中
  2. m_CheckButton.EnableWindow(FALSE);       //不能再选

6 CFileDialog显示两种扩展名

  1. CFileDialog dlg(TRUE,NULL,NULL,0,"图片文件(*.jpg;*.bmp)|*.jpg;*.bmp||",this);///TRUE为OPEN对话框,FALSE为SAVE AS对话框

7  去掉标题栏的语句

  1. //去除标题和边框
  2. SetWindowLong(m_hWnd, GWL_STYLE, GetWindowLong(m_hWnd, GWL_STYLE)&(~(WS_CAPTION | WS_BORDER)));
  3. // 置对话框为最顶端并扩充到整个屏幕
  4. ::SetWindowPos(m_hWnd, HWND_TOPMOST, -(GetSystemMetrics(SM_CXBORDER)+1),
  5. -(GetSystemMetrics(SM_CYBORDER)+1), cx+1,cy+1, SWP_NOZORDER);
  6. 还原标题栏和边框
  7. SetWindowLong(this-> GetSafeHwnd(), GWL_STYLE, GetWindowLong(m_hWnd,GWL_STYLE) + (WS_CAPTION|WS_BORDER) );
  8. ::SetWindowPos(m_hWnd, HWND_TOPMOST, 500, 300, 600,500, SWP_SHOWWINDOW);

8 推断按下CTL+V组合键

  1. BOOL CRichEditDlg::PreTranslateMessage(MSG* pMsg)
  2. {
  3. if (pMsg->message==WM_KEYDOWN)
  4. {
  5. if (pMsg->wParam=='V'&&(GetKeyState(VK_CONTROL)<0))//按下CTRL+V
  6. {
  7. OnPaste();
  8. return TRUE;//直接返回 要不然会响应系统的粘贴消息  从而导致粘贴2遍
  9. }
  10. }
  11. //
  12. }

转自:http://blog.csdn.net/shuilan0066/article/details/8727113

MFC 小知识总结四的更多相关文章

  1. MFC 小知识总结二

    1 UpdateData 不能及时更新控件内容 原因: UpdateData是通过数据交换实现改变控件显示的.改变了之后必需要调用一次OnPaint才干实现刷新. 因此,若是在一个函数里重复多次调用有 ...

  2. MFC 小知识总结五

    1 移动无标题对话框   响应WM_NCHITTEST 消息 [cpp] view plaincopy LRESULT CTimeJishiDlg::OnNcHitTest(CPoint point) ...

  3. MFC 小知识总结三

    1 载入资源位图 1 获取程序实例 HINSTANCE   m_hInst; m_hInst=AfxGetInstanceHandle();                         //获取程 ...

  4. Android简易实战教程--第三十四话《 自定义SeekBar以及里面的一些小知识》

    转载本专栏文章,请注明出处尊重原创:博客地址http://blog.csdn.net/qq_32059827/article/details/52849676:小杨的博客 许多应用可能需要加入进度,例 ...

  5. 【C#小知识】C#中一些易混淆概念总结(四)---------解析Console.WriteLine() 分类: C# 2014-02-05 17:18 1060人阅读 评论(0) 收藏

    目录: [C#小知识]C#中一些易混淆概念总结 [C#小知识]C#中一些易混淆概念总结(二) [C#小知识]C#中一些易混淆概念总结(三) ------------------------------ ...

  6. 12个你未必知道的CSS小知识

    虽然CSS并不是一种很复杂的技术,但就算你是一个使用CSS多年的高手,仍然会有很多CSS用法/属性/属性值你从来没使用过,甚至从来没听说过. 1.CSS的color属性并非只能用于文本显示 对于CSS ...

  7. JS的基本类型(小知识)

    一:js中的基本类型: 基本类型:boolen, string ,number,null,undefined 引用类型:object,和函数 二.undedifned和null的区别: 1 undef ...

  8. uniGUI for C++ builder之杂七杂八小知识

    uniGUI for C++ builder之杂七杂八小知识 2018年09月30日 22:16:05 中国银行之路在脚下 阅读数:41 标签: uniguibuilder 更多 个人分类: C++ ...

  9. 【C#小知识】C#中一些易混淆概念总结(七)---------解析抽象类,抽象方法

    目录: [C#小知识]C#中一些易混淆概念总结--------数据类型存储位置,方法调用,out和ref参数的使用 [C#小知识]C#中一些易混淆概念总结(二)--------构造函数,this关键字 ...

随机推荐

  1. Codeforces 803G Periodic RMQ Problem ST表+动态开节点线段树

    思路: (我也不知道这是不是正解) ST表预处理出来原数列的两点之间的min 再搞一个动态开节点线段树 节点记录ans 和标记 lazy=-1 当前节点的ans可用  lazy=0 没被覆盖过 els ...

  2. ACM_百度的面试(单调栈)

    百度的面试 Time Limit: 2000/1000ms (Java/Others) Problem Description: 在一个二维平面,从左到右竖立n根高度分别为:a[1],a[2],... ...

  3. linux,apache,mysql,php常用查看版本信息的方法

    1. 查看linux的内核版本,系统信息,常用的有三种办法: uname -a; cat /proc/version; -bash-4.2$ uname -a Linux apphost -.el7. ...

  4. git——merge和rebase的区别

    参考http://www.jianshu.com/p/129e721adc6e 我在公司里看到其他同事都使用git pull --rebase拉取远程代码,而我总是用git pull,也有同事和我说过 ...

  5. 这辈子写过的比较有意思的几个sql

    递归 with myRecursion as( select * from recursion where id=1 union all select r.* from myRecursion m,r ...

  6. React Native导航器Navigator

    React Native导航器Navigator 使用导航器可以让你在应用的不同场景(页面)间进行切换.导航器通过路由对象来分辨不同的场景.利用renderScene方法,导航栏可以根据指定的路由来渲 ...

  7. win10 打开chm文件内容空白如何解决

    win10 打开chm文件内容空白如何解决 .CHM文件是非常常见的帮助文件格式.由于其便携性,很多小说或杂志也会采用chm格式.win7/win8.1/win10系统,由于采用了UAC,致使原本在x ...

  8. Prime算法生成最小生成树

    虽说是生成树,但我只将生成的边输出了.至于怎么用这些边来创建树...我不知道_(:з」∠)_ //Prime方法生成最小生成树 void GraphAdjacencyListWeight::Gener ...

  9. cannot load oci dll,193-navicate连接oracle的解决方法

    navicat连接远程数据库时 是因为instantclient是64位的,navicat是32位的,两者要一致 因为自己的navicat premium是破解版的,所以就另找了instantclie ...

  10. centos7mini版安装pyenv,ipython和jupyter环境.2090513

    第一节: 搭建centos7下pyenv,ipython,jupyter环境 pyenv:是一个python多版本管理器,在这个里面可以安装多个版本共存,然后可以安装需求选择版本. ipython:就 ...