MFC编程中,主对话框中用什么函数可以将子对话框中的编辑框只读

我的在主窗口中进行操作,子窗口的对象名是m_Dlg,现在要将子窗口中的IDC_D_NAME这个编辑框控件变成只读,具体的代码是什么??请详细点。。谢谢... 我的在主窗口中进行操作,子窗口的对象名是m_Dlg,现在要将子窗口中的IDC_D_NAME这个编辑框控件变成只读,具体的代码是什么??请详细点。。谢谢 展开
 我来答
真情不一定一永
2010-09-15 · TA获得超过5035个赞
知道小有建树答主
回答量:1002
采纳率:0%
帮助的人:1928万
展开全部
我记得回答过类似的问题,现在重复一下。
重要的函数:
==================
MCIERROR mciSendCommand(MCIDEVICEID wDeviceID, UINT uMsg, DWord dwFlags, DWORD dwParam);
第一个参数指定了设备标识,这个标识会在程序员打开MCI设备时由系统提供。第二个参数指定将如何控制设备,见后面MCI指令清单,其中有有关录音的指令。第三个参数为访问标识,第四个参数一般是一个数据结构,标识程序在访问MCI时要的一些信息。
MCI的设备类型:
设备描述 描述字符串 说明
MCI_ALL_DEVICE_ID 所有设备
MCI_DEVTYPE_ANIMATION Animation 动画设备
MCI_DEVTYPE_CD_AUDIO Cdaudio CD音频
MCI_DEVTYPE_DAT Dat 数字音频
MCI_DEVTYPE_DIGITAL_VIDEO Digitalvideo 数字视频
MCI_DEVTYPE_OTHER Other 未定义设备
MCI_DEVTYPE_OVERLAY Overlay 重叠视频
MCI_DEVTYPE_SCANNER Scanner 扫描仪
MCI_DEVTYPE_SEQUENCER Sequencer MIDI 序列器
MCI_DEVTYPE_VCR Vcr 合式录像机
MCI_DEVTYPE_VIDEODISC Videodisc 激光视盘
MCI_DEVTYPE_WAVEFORM_AUDIO waveaudio Wave 音频
MCI指令
MCI_BREAK设置中断键,缺省是”CTRL+BREAK
MCI_CAPTURE抓取当前帧并存入指定文件,仅用于数字视频
MCI_CLOSE关闭设备
MCI_CONFIGURE弹出配置对话框,仅用于数字视频
MCI_COPY拷贝数据至剪贴板
MCI_CUE延时播放或录音
MCI_CUT删除数据
MCI_DELETE删除数据
MCI_ESCAPE仅用于激光视频
MCI_FREEZE将显示定格
MCI_GETDEVCAPS获取设备信息
MCI_INDEX当前屏幕显示与否,仅用于VCR设备
MCI_INFO获取字符串信息
MCI_LIST获取输入设备数量,支持数字视频和VCR设备
MCI_LOAD装入一个文件
MCI_MARK取消或做一个记号,与MCI_SEEK配套
MCI_MARK取消或做一个记号,与MCI_SEEK配套
MCI_MONITOR为数字视频指定报告设备
MCI_OPEN打开设备
MCI_PASTE粘帖数据
MCI_PAUSE暂停当前动作
MCI_PLAY播放
MCI_PUT设置源、目的和边框矩形
MCI_QUALITY定义设备缺省质量
MCI_RECORD开始录制
MCI_RESERVE分配硬盘空间
MCI_RESTORE拷贝一个bmp文件至帧缓冲
MCI_RESUME使一个暂停设备重新启动
MCI_SAVE保存数据
MCI_SEEK更改媒体位置
MCI_SET设置设备信息
MCI_SETAUDIO设置音量
MCI_SETTIMECODE启用或取消VCR设备的时间码
MCI_SETTUNER设置VCR设备频道
MCI_SETVIDEO设置video参数
MCI_SIGNAL在工作区上设置指定空间
MCI_STATUS获取设备信息
MCI_STEP使播放设备跳帧
MCI_STOP停止播放
MCI_SYSINFO返回MCI设备信息
MCI_UNDO取消操作
MCI_UNFREEZE使使用MCI_UNFREEZE的视频缓冲区恢复运动
MCI_UPDATE更新显示区域
MCI_WHERE获取设备裁减矩形
MCI_WINDOW指定图形设备窗口和窗口特性
其中比较常用的指令有MCI_OPEN、MCI_RECORD、MCI_CLOSE、MCI_PLAY、MCI_STOP、MCI_PAUSE、MCI_STATUS等等。
举例:
//关闭一个MCI设备
mciSendCommand(DeviceID, MCI_CLOSE, NULL, NULL);
//打开CD播放器
MCI_OPEN_PARMS mciOpen;
mciOpen.lpstrDeviceType = (LPSTR)MCI_DEVTYPE_CD_AUDIO ;
mciSendCommand(NULL, MCI_OPEN, MCI_OPEN_TYPE | MCI_OPEN_TYPE_ID, (DWORD)mciOpen);
其他:
=======
高层音频接口:播放声音资源/文件
调用MCI::Media Control Interface 和Api::MessageBeep,sndPlaySound,PlaySound
底层音频接口:数据采集
开发一般步骤:
检测音频设备-打开驱动程序-分配缓冲区-管理缓冲区-操作音频数据-释放缓冲区-关闭驱动程序.
SDK参考::ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.WIN32COM.v10.en/multimed/htm/_win32_multimedia_functions.htm
多媒体控制两种方式可选:调API,执行命令.
MCI命令结构:
系统命令:直接由MCI解析,并由系统处理,与设备无关
通用命令:由设备驱动处理
可选命令:
扩展命令:
常用MCI命令:
MCI_OPEN,MCI_PLAY,MCI_RECORD,MCI_STATUS,MCI_SET,时间操作宏命令.
fox000002
2010-09-13 · TA获得超过3824个赞
知道大有可为答主
回答量:2356
采纳率:97%
帮助的人:1155万
展开全部
1 主对话框保存子对话框指针,直接操作即可

2 向子对话框发送消息,由子对话框处理

应该是用 EnableWindow 之类的函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
woshinia777
2010-09-13 · TA获得超过915个赞
知道小有建树答主
回答量:495
采纳率:0%
帮助的人:346万
展开全部
只需要在ResourcesView页面里打开子对话框的界面,右击编辑框-属性-把已禁用这一项打钩就可以了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
琼苼用
2010-09-14 · 超过10用户采纳过TA的回答
知道答主
回答量:24
采纳率:0%
帮助的人:0
展开全部
通过这个函数
m_myEdit.SetReadOnly(TRUE);
就可以。
主对话框与子对话框基本上可看成两个线程,你的问题应该在主对话框发自定义消息给子对话框,子对话框响应消息设编辑框为只读
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
来自美国认真的兔子
2010-09-14 · TA获得超过644个赞
知道小有建树答主
回答量:550
采纳率:100%
帮助的人:419万
展开全部
想了想,用这个吧
BOOL WINAPI EnableWindow(
__in HWND hWnd,
__in BOOL bEnable
);、
种这个
HWND WINAPI GetDlgItem(
__in_opt HWND hDlg,
__in int nIDDlgItem
);

你可以这样
EnableWindow(GetDlgItem(m_Dlg.GetSafeHwnd(),IDC_D_NAME),FALSE);
这样应该可以了,不懂的HI我
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式