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

头文件 

[cpp] view
plain
copy

  1. #include < Mmsystem.h>

播放音乐

[cpp] view
plain
copy

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

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

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

循环播放

[cpp] view
plain
copy

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

停止播放

[cpp] view
plain
copy

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

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

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

    方法一 : 设置定时器 

[cpp] view
plain
copy

  1. SetTimer(1,50,NULL);

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

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

[cpp] view
plain
copy

  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  在屏幕上画图

[cpp] view
plain
copy

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

[cpp] view
plain
copy

  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  设置选中状态。并将其默认 不能再选择

[cpp] view
plain
copy

  1. CButton CheckButton;   //关联一变量

[cpp] view
plain
copy

  1. m_CheckButton.SetCheck(1);               //选中
  2. m_CheckButton.EnableWindow(FALSE);       //不能再选

6 CFileDialog显示两种扩展名

[cpp] view
plain
copy

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

7  去掉标题栏的语句

[cpp] view
plain
copy

  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组合键

[cpp] view
plain
copy

  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

时间: 2024-08-01 00:12:46

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

MFC小知识一:将对话框设置为无边框无标题栏初始最大化样式

今天公司新开始的一个项目.界面模式为无边框无标题栏初始最大化样式.其实本来可以直接在属性里面将默认的Resizing换成none就可以了,那么我想如何用代码来实现呢?于是就百度了一下.找到了两种方式,但其实两种方式思想是一样的.即修改样式--ModifyStyle.直接将以下代码加在OnInitDialog()即可实现. 第一种: 1 // 去掉标题栏 2 ModifyStyle(WS_CAPTION, 0); 3 // 去掉边框 4 ModifyStyleEx(WS_EX_DLGMODALFR

MFC 小知识总结五

1 移动无标题对话框   响应WM_NCHITTEST 消息 [cpp] view plaincopy LRESULT CTimeJishiDlg::OnNcHitTest(CPoint point) { // TODO: 在此加入消息处理程序代码和/或调用默认值 LRESULT res=CDialogEx::OnNcHitTest (point); if (res==HTCLIENT)        //HTclient  落在客户区 { res=HTCAPTION;    //返回标题栏资源

12个css小知识

1.CSS的color属性并非只能用于文本显示对于CSS的color属性,相信所有Web开发人员都使用过.如果你并不是一个特别有经验的程序员,我相信你未必知道color属性除了能用在文本显示,还可以用作其它地方.它可以把页面上的所有的东西都变颜色.比如:无法显示的图片的alt文字list元素的边框无序list元素前面的小点有序list元素前面的数字还有hr元素 2.CSS里的visibility属性有个collapse属性值:collapse对于CSS里的visibility属性,相信你用过不下

几个shell程序设计小知识(shell常识部分)

[转自]http://blog.chinaunix.net/uid-168249-id-2860686.html 引用:一.用户登陆进入系统后的系统环境变量:  $HOME 使用者自己的目录  $PATH 执行命令时所搜寻的目录  $TZ 时区  $MAILCHECK 每隔多少秒检查是否有新的信件  $PS1 在命令列时的提示号  $PS2 当命令尚未打完时,Shell 要求再输入时的提示号  $MANPATH man 指令的搜寻路径 二.特殊变量: $0 这个程序的执行名字  $n 这个程序的

java 小知识

1.JDK就是Java Development Kit.是 Java 语言的软件开发工具包(SDK),简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境.基本上每个学java的 人都会先在机器上装一个JDK,那他都包含哪几部分呢?让我们看一下JDK的安装目录.在目录下面有六个文件夹.一个src类库源码压缩包.和其他几个声明文件.其中,真正在运 行java时起作用的是以下四个文件夹:bin.include.lib. jre.现在我们可以看出这样一个关系,JDK包含JRE

MFC 基础知识:对话框背景添加图片和按钮Button添加图片

很长时间没有接触MFC相关的知识了,我大概是在大二时候学习的MFC相关知识及图像处理,现在由于要帮个朋友完成个基于C++的程序,所以又回顾了下相关知识.的确,任何知识一段时间过后都比较容易忘记,但回顾起来还是很有印象的. 这篇文章主要是回顾以前的MFC基础知识,给对话框添加背景图片和给按钮button添加背景图片:希望此篇基础性文章对大家有所帮助!同时为下次做MFC相关知识提供点此时所想所感吧.内容比较简单,高手飘过~ 一. 对话框背景添加图片 首先通过VS2012创建MFC对话框应用程序,项目

JSP+Ajax网站开发小知识

一.JSP基础 1.<select  name="love"  size="3">其中的size属性指定了列表框显示选项的条数,如果所有选项多于这个数,将会出现滚动条. 2.addCookie(Cookie  cookie)方法将其放入客户端,获取Cookie对象可调用request对象的Cookie[]  getcookies()方法. Cookie   myCookie  =  new  Cookie("name",  "

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

虽然CSS并不是一种很复杂的技术,但就算你是一个使用CSS多年的高手,仍然会有很多CSS用法/属性/属性值你从来没使用过,甚至从来没听说过. 1.CSS的color属性并非只能用于文本显示 对于CSS的color属性,相信所有Web开发人员都使用过.如果你并不是一个特别有经验的程序员,我相信你未必知道color属性除了能用在文本显示,还可以用作其它地方. 请注意,上面的代码里只使用了一个color属性,就是在body元素上,设置成了yellow.但是,你也看到了,所有这个页面上的东西都变成了黄色

ios开发小知识2

http://blog.sina.com.cn/s/blog_66450b500102vadq.html http://www.cnblogs.com/lovesmile/archive/2012/06/27/2565569.html ios开发小知识2(转自cc) 退回输入键盘  - (BOOL)textFieldShouldReturn:(id)textField{    [textField resignFirstResponder];} CGRectCGRect frame = CGRe