c++音乐播放器程序错误

c++音乐播放器程序错误,第1张

编译错误,你有两个#if,却只有一个#endif。

#if !defined(AFX_PLAYERDLG_H__A2A8C582_CC8E_4EED_85A6_7AC126703D36__INCLUDED_)

#define AFX_PLAYERDLG_H__A2A8C582_CC8E_4EED_85A6_7AC126703D36__INCLUDED_

#if _MSC_VER > 1000

#pragma once

#endif // _MSC_VER > 1000

#endif

这么改就ok了

我能找到啊 ,贴给你。。

网页版本: >

WS_POPUP 表示d出窗口,不是泊位在父窗口的范围内(WS_CHILD)。MessageBox就是这个样子。

你用WS_POPUP样式,又加了父亲窗口,表示在任务栏上,将此d出窗口限制在父窗口所在位置。

而这个 pParent 为WS_CHILD窗口,没有任务栏泊位的权限,所以就转移给其祖父窗口了。

——这点我没试过,我这样理解的。

Picture控件实际不只是一个CStatic类,派生于CWnd,它独有的方法如下所述:

Initialization

Create Creates the Windows static control and attaches it to the CStatic object

Operations

SetBitmap Specifies a bitmap to be displayed in the static control

GetBitmap Retrieves the handle of the bitmap previously set with SetBitmap

SetIcon Specifies an icon to be displayed in the static control

GetIcon Retrieves the handle of the icon previously set with SetIcon

SetCursor Specifies a cursor image to be displayed in the static control

GetCursor Retrieves the handle of the cursor image previously set with SetCursor

SetEnhMetaFile Specifies an enhanced metafile to be displayed in the static control

GetEnhMetaFile Retrieves the handle of the enhanced metafile previously set with SetEnhMetaFile

实际上在VC++里面它并没有多大的作用,任何一个CWnd都可以完成绘图工作,而CStatic并没有增加多少有用的功能,它只是简单封装了一下API

参数不止2个 亲

CWnd::Create

virtual BOOL Create( LPCTSTR

lpszClassName, LPCTSTR lpszWindowName,

DWORD dwStyle, const RECT&

rect, CWnd pParentWnd, UINT

nID, CCreateContext pContext = NULL);

Return Value

Nonzero if successful; otherwise 0

Parameters

lpszClassName

Points to a null-terminated character string that names the

Windows class (a WNDCLASS structure) The class name can be any name

registered with the global AfxRegisterWndClass function or any of the

predefined control-class names If NULL, uses the default CWnd

attributes

lpszWindowName

Points to a null-terminated character string that contains the

window name

dwStyle

Specifies the window style

attributes WS_POPUP cannot be used If you wish to create a pop-up

window, use CWnd::CreateEx

instead

rect

The size and position of the window, in client coordinates of

pParentWnd

pParentWnd

The parent window

nID

The ID of the child window

pContext

The create context of the window

Remarks

Creates a Windows child window and attaches it to the CWnd object

You construct a child window in two steps First, call the constructor, which

constructs the CWnd object Then call Create, which creates the

Windows child window and attaches it to CWnd Create initializes

the window’s class name and window name and registers values for its style,

parent, and ID

Example

// Dynamically create static control using CWnd::Create,

// instead of with CStatic::Create, which doesn't

// need the "STATIC" class name

void CMyDlg::OnCreateStatic()

{

CWnd pWnd = new CWnd;

pWnd->Create(_T("STATIC"), "Hi", WS_CHILD | WS_VISIBLE,

CRect(0, 0, 20, 20), this, 1234);

}

MFC控件的使用方法

VC++60控件工具箱:

2 图形控件(picture):常用于显示位图(Bitmap)和图标(Icon)

3 静态文本(Static Text):用来在指定的位置显示特定的字符串,一般用来标识附近另一个控件的内容。显示在静态文本控件中的字符串一般不再改变,但是在需要的时候,也可以通过调用相应的函数来进行设置。MFC提供了CStatic类支持静态控件。

4 编辑框(Edit Box):用来接收用户输入的字符串。通过选择编辑框的选项,编辑框可以接收字符串、数字、密码等;编辑框还可以设置成接收多行字符串的模式;可以自动进行大小写转换。编辑框可能向其父窗口发送多种控件通知,如果用户需要,可以对这些控件通知进行处理。MFC提供了CEdit类支持编辑框控件。

5 组成框(Group Box):用来包围具有逻辑关系的一组控件,在这些控件的周围加上边界和标题。需注意的是,组成框仅仅是在视觉效果上对控件进行“成组”,真正的“成组”工作还需要另外一些工作。

6 按钮(Button):用来接收用户的命令,应用程序在接收到用户命令后,通常需要进行一些后台工作。按钮可以响应单击或双击动作,在按钮接收到鼠标动作后,向其父窗口发送相应的控件通知,用户可以对这些控件通知进行消息映射,从而进行相应的处理。在一个对话框中,可以定义一个默认按钮,这只要选中按钮属性中的“Default”选项。如果在对话框活动的时候按下了Enter键,则等同于单击了默认按钮。MFC提供了CButton类支持按钮控件。

7 复选框(Check Box):用来显示某种可能的选择,该项选择是独立的,用户可以选中或取消该选项。在选项被选中的时候核选标记出现,选项被取消时核选标记消失。MFC中由CButton类对核选框进行支持,用户可以通过SetCheck()函数和GetCheck()函数设置或获取核选框当前的状态。

8 单选按钮(Radio Button):用来选择某种可能的选择,与核选框不同,该选项不是独立的。一般是几个单选按钮组成一组,同组中的单选按钮可以有也只能有一个按钮被选中。MFC同样使用CButton类对单选按钮控件进行支持,SetCheck()函数和GetCheck()函数对单选按钮也是适用的。

9 组合框(Combo Box):列表框和编辑框的组合,用户除了可以在列表中对已经存在的选项进行选择外,还可以输入新的选择。MFC提供了CComboBox类对组合框控件进行支持。

10 列表框(List Box):用来选择一系列的可能选择,用户通过滚动条可以在这些选择中浏览。在列表框中,可以进行单项选择,也可以进行多项选择,这取决于用户在控件属性对话框中的设置。MFC提供了CListBox类对列表框控件进行支持。

11、12 滚动条(Scroll Bar):这包括水平滚动条和垂直滚动条,除了在视觉效果上的方向不同外,水平滚动条在被滚动时发生WM_HSCROLL消息,而垂直滚动条在被滚动时发送WM_VSCROLL消息。MFC提供了CScrollBar进行支持。

13 微调按钮(Spin Button):包括一对紧靠在一起的上下箭头,使用微调按钮可以增大或者缩小某个特定的数值。微调按钮往往都需要一个“伙伴”控件,这通常都是一个编辑框。当微调按钮的向上箭头被单击时,编辑框中的数字就增大;反之则减小。MFC提供了CPinButtonCtrl类进行支持。

14 进度条(Progress):在进行一项需要占有较长时间的 *** 作时来反应当前的进度。当 *** 作的进度不断前进时,进度条就用特色颜色填充进度条框。用户可以设定进度条的范围和当前位置。MFC提供了CProgressCtrl类进行支持。

15 滑块控件(Slider):通常用来在程序中接受一系列离散的数值。用户可以设置滑块控件的取值范围,并可以为控件加上刻度标记以显示特定位置的含义。MFC提供了CSliderCtrl类进行支持。

16 热键控制(Hot Key):热键控件看起来就像一个编辑框,但是在热键控件中能够立刻反应用户刚刚按下的键组合,这在设置程序的热键时特别有用。热键控件只是在“视觉”上显示了按键组合,设置热键的工作还需要用户添加代码完成。MFC提供了CHotKey类进行支持。

17 列表控制(List Control):按一定的排列顺序显示一系列带图标的字符串,列表控件提供了四种显示模式:大图标、小图标、列表和详细信息。用户可以向列表控件中添加新的项,也可以控制列表控件的显示模式。MFC提供了CListCtrl类进行支持。

18 树形控件(Tree Control):用来显示一系列项目的层次关系,最典型的例子是显示磁盘上的文件与文件夹。如果有子项目的话,单击树形控件中的项目可以展开或者收缩其子项目。MFC提供了CTreeCtrl类进行支持。

19 属性表控件(Tab Control):用来包含大量的控件,可以满足用户显示或者获取大量数据的要求。每个属性表又分为好几个属性页,这些属性页由各自的标签进行区分,这些属性页中都可以包容其他控件。在显示属性表的时候,一次只能够显示一个属性页的全部内容,同时显示其他属性页的标签,用户通过单击标签打开相应的属性页。MFC提供了CTabCtrl类进行支持。

20 动画控件(Animation):用来播放一段AVI格式的视频剪辑。用户可以控制视频剪辑的播放、停止和定位,但也仅限于这些功能。动画控件设置不能播放音频剪辑,如果用户需要更高层次的视频或者音频的支持,请选用MCIWnd控件。MFC提供了CAnimateCtrl类对动画控件进行支持。

21 高级编辑框(Rich Edit):编辑控件功能的扩展。在高级编辑框中,除了简单的输入和编辑字符串外,用户还可以为字符或段落指定特定的格式,用户甚至还可以向高级编辑框中插入OLE项。高级编辑框基本上实现了一个带格式的文本编辑器功能,而只需要用户添加少量的接口。MFC提供了CRichEditCtrl类进行支持。

22 日历控件(Month Calender):看似与真正的日历类似, *** 作也类似,直观的为用户提供了观察和显示当前日期的途径。MFC提供了CMonthCalCtrl类进行支持。

23 日期/时间选择器(Date Time Picker):向用户提供了一种直观的选择日期和时间的方法、日期/时间选择器在外观上类似于一个组合框,但是当用户单击下拉箭头时就会展开一个日历控件供用户选择,而一旦用户做出了选择,日期/时间选择器会自动显示新的日期/时间。MFC提供了CDateTimeCtrl类进行支持。

24 IP地址控件(IP Adress):IP地址控件用来输入和编辑IP地址。该控件外观类似于一个编辑框,但是可以自动对输入的字符按3个一组进行区分和加间隔圆点。IP地址控件为开发支持Internet技术的程序提供了方便。MFC提供了CIPAddressCtrl类进行支持。

26 扩展组合框(Extended Combo Box):在普通组合框的基础上还支持图像列表。即,可以在组合框中显示特定的图标表示相应的选择,而不仅仅是显示文本。MFC提供了CComboBoxEx类进行支持。

所有控件的公共属性:

ID:控件的资源标识。

Visiable:控件是否可见。

Disabled:控件是否被禁止、被禁止的控件无法接受键盘和鼠标输入。

Group:是否从这个空间开始一个新组。

Tab stop:在程序中是否可以用Tab键切换到这个控件。

Help ID:是否给控件分配一个帮助标识,帮助标识基于控件本身的资源标识。

Client edge:给控件增加一个凹陷的边界,使整个控件看起来像是凹下去的一样。

Static edge:给控件增加一个边界。

Modal frame:给控件增加一个3维的框架,与Client edge相反,它是凸出来的。

Transparent:拥有此属性的窗口是透明的,它下面的窗口不会被它遮掩住。

Accept files:拥有此属性的窗口可以接收拖放文件,如果一个文件被拖动到这个控件上面,控件会收到WM_DROPFILES消息。

No parent notify:表示控件不向其父窗口发送WM_PARENTNOTIFY消息。

Right aligned text:表示文本右对齐。

以上属性可通过控件的属性对话框进行设置,在属性对话框中按F1键可以查看属性的帮助信息。

每一种控件都由一个MFC控件类来管理,当通过资源编辑器在对话框上添加一个控件时,visualC++会自动为控件类生成一个实例,即对象,并调用构造函数,当对话框关闭时,其各个子控件对象被自动销毁。

也可以不使用资源编辑器,自己在程序中写代码创建、显示控件并设置控件的属性。

所有的控件类都继承自CWnd,控件的某些 *** 作和属性设置需要用到CWnd本身的成员函数,CWnd某些函数经常用来 *** 纵控件和设置控件属性。

SetWindowText:设置控件上要显示的标题文本,即用来设置控件的caption属性

GetWindowText:得到控件的标题文本。

EnableWindow:设置控件的Disabled属性,即社会自控件是否可以接收键盘和鼠标的输入。

SetWindowPos:改变窗口的大小、位置和Z轴次序。

MoveWindow:改变窗口的大小和位置

GetWindowRec:得到窗口的大小、位置(信息存放在一个矩形结构中)。

GetClientRect:得到窗口客户区的大小(信息存放在一个矩形结构中 )。

ShowWindow:设置窗口的可见性(即窗口是否可见)。

SetWindowText/GetWindowText还可以用来设置/得到对话框的标题文本。

出现debug assertion faild, 说明有断言assert错误, 请仔细检查代码, 出错的地方, 可能是某指针错误, 比如指针是空值

CStatic的Create函数原型

virtual BOOL Create(

LPCTSTR lpszText,

DWORD dwStyle,

const RECT& rect,

CWnd pParentWnd,

UINT nID = 0xffff

);

明显你的代码最后参数漏了ID号,请你自己定义一下

以上就是关于c++音乐播放器程序错误全部的内容,包括:c++音乐播放器程序错误、vs 2005中的msdn怎么查不到CWnd::CreateEx、请教一个父窗口设置问题,一个d出窗口的父窗口设置失败,调试发现父窗口总是为CMainFrame,请问是怎么回等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9742888.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存