24小时热门版块排行榜    

查看: 1407  |  回复: 13

dq20081935

铜虫 (小有名气)

[求助] MFC 中单文档应用程序框架 如何调用其他功能的对话框?

谢谢大侠!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

沉默boy

木虫 (著名写手)

这是啥

【答案】应助回帖

★ ★ ★ ★
感谢参与,应助指数 +1
dq20081935: 金币+3, ★★★很有帮助 2012-11-02 15:57:04
xzhdty: 金币+1, 谢谢参与 2012-11-03 22:38:48
难道不是自己编一个模态或者非模态对话框之类的么?或者用VB有不少系统的对话框,比如什么“打开”、“保存”。。。。。
总说平等,但是平等在哪里?
2楼2012-11-02 14:50:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dq20081935

铜虫 (小有名气)

引用回帖:
2楼: Originally posted by 沉默boy at 2012-11-02 14:50:06
难道不是自己编一个模态或者非模态对话框之类的么?或者用VB有不少系统的对话框,比如什么“打开”、“保存”。。。。。

对,就是用C++编一个模态或者非模态对话框。但我不会在单文档中调用,或者说我无法实现该对话框弹出的功能,求大侠指教!
3楼2012-11-02 15:56:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

沉默boy

木虫 (著名写手)

这是啥

【答案】应助回帖

引用回帖:
3楼: Originally posted by dq20081935 at 2012-11-02 15:56:53
对,就是用C++编一个模态或者非模态对话框。但我不会在单文档中调用,或者说我无法实现该对话框弹出的功能,求大侠指教!...

去看看ShowWindow
我是小白
总说平等,但是平等在哪里?
4楼2012-11-02 17:56:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dq20081935

铜虫 (小有名气)

引用回帖:
4楼: Originally posted by 沉默boy at 2012-11-02 17:56:54
去看看ShowWindow
我是小白...

呵呵,同样感谢,谢谢参与!
5楼2012-11-02 18:12:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dq20081935

铜虫 (小有名气)

顺便问一下   单文档的初始化    是在哪里实现的啊,比如设置其大小,添加图片,文字等!谢谢
6楼2012-11-02 19:05:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dq20081935

铜虫 (小有名气)

求mfc settimer()的用法,谢谢!
7楼2012-11-06 22:14:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

1356466973

禁虫 (初入文坛)

jjdg: 你是提问还是应助 2012-11-17 23:56:58
本帖内容被屏蔽

8楼2012-11-17 18:50:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

缘不可解

新虫 (初入文坛)

【答案】应助回帖

有些对话框时MFC自带的,比如CColorDialog,你只需要定义一个她的对象例如:CColorDialog m_dlg;然后m_dlg.DoModal();即可打开。若是自己写的功能对话框,也是一样的,加入那个对话框类的头文件,然后定义他的对象,在Domodal()打开即可。这是模态对话框的方式。若是非模态的话则需要定义一个全局对话框指针,并初始化一下。然后调用它的showwindow()函数。(好像带参数忘了)。
坚持奋斗,学会感恩,懂得珍惜
9楼2012-11-26 13:02:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

缘不可解

新虫 (初入文坛)

引用回帖:
7楼: Originally posted by dq20081935 at 2012-11-06 22:14:26
求mfc settimer()的用法,谢谢!

CWnd::SetTimer

UINT SetTimer(UINT nIDEvent, UINT nElapse, void (CALLBACK EXPORT*lpfnTimer) (HWND, UINT, UINT, DWORD) );

返回值:
如果函数成功,则返回新定时器的标识符。应用程序可以将这个值传递给KillTimer成员函数以销毁定时器。如果成功,则返回非零值;否则返回0。

参数: nIDEvent 指定了不为零的定时器标识符。  
nElapse 指定了定时值;以毫秒为单位。  
lpfnTimer 指定了应用程序提供的TimerProc回调函数的地址,该函数被用于处理WM_TIMER消息。如果这个参数为NULL,则WM_TIMER消息被放入应用程序的消息队列并由CWnd对象来处理。


说明:
这个函数设置一个系统定时器。指定了一个定时值,每当发生超时,则系统就向设置定时器的应用程序的消息队列发送一个WM_TIMER消息,或者将消息传递给应用程序定义的TimerProc回调函数。
lpfnTimer回调函数不需要被命名为TimerProc,但是它必须按照如下方式定义:
void CALLBACK EXPORT TimerProc(
   HWND hWnd,       // 调用SetTimer的CWnd的句柄
   UINT nMsg,         // WM_TIMER
   UINT nIDEvent      // 定时器标识
   DWORD dwTime    // 系统时间
   );
定时器是有限的全局资源;因此对于应用程序来说,检查SetTimer返回的值以确定定时器是否可用是很重要的。
坚持奋斗,学会感恩,懂得珍惜
10楼2012-11-26 13:07:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 dq20081935 的主题更新
信息提示
请填处理意见