MFC 如何让一个类控制主窗口的最小化? (高分求救)

kakalong 2004-09-13 05:23:29
类A想让主窗口最小化
比如主窗口的子窗口想让主窗口消失.

还有
类A在类B上, 类C在类B上, 类C如何控制类A?



我刚刚写MFC, 是超级菜鸟, 请说详细点, 谢谢
...全文
153 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
kakalong 2004-09-15
  • 打赏
  • 举报
回复
第一个问题解决了.




类A在类B上, 类C在类B上, 类C如何控制类A?
还没解决. B是主程序. A和C都是控件
kakalong 2004-09-13
  • 打赏
  • 举报
回复
回复人: lovenoend(有容乃大)

看不懂,如何设置?
oyljerry 2004-09-13
  • 打赏
  • 举报
回复
PostMessage(m_hWndParent, WM_SYSCOMMAND, SC_MINIZE, 0 );
lovenoend 2004-09-13
  • 打赏
  • 举报
回复

最简单的就是
A.h
class A
{
};

=======================
b.h
class A; // 声明,不能包含头文件a.h,在b.cpp中包含
class B
{
....
A *pA;
void SetA(A*pa){pA = pa;}
// 先设置然后就可以对pA操作
};
====================
C类似B
Jimmy_Xia 2004-09-13
  • 打赏
  • 举报
回复
class MyClassA{
public:
...
HWND m_hWndParent;
...
void ShowParentWndMin()
{
if(m_hWndParent != NULL)
PostMessage(m_hWndParent, WM_SYSCOMMAND, SC_MINIZE, 0 );
}
}

MyClassA m_myClassA;

//在主窗口中,比如CMyDialog类中的初始化对话框函数OnInitialized()中
m_myClassA.m_hWndParent = this->m_hWnd;
m_myClassA.ShowParentWndMin();
kakalong 2004-09-13
  • 打赏
  • 举报
回复
麻烦各位说详细点, 我才学MFC半个月,看不明白
pomelowu 2004-09-13
  • 打赏
  • 举报
回复
GetTopLevelOwner获得的就是主窗口指针
CWnd * pwParent = pMyWindow->GetTopLevelOwner();
pwParent->ShowWindow(SW_SHOWMAXIMIZED);
lixiaosan 2004-09-13
  • 打赏
  • 举报
回复
在a中得到b的句柄,然后发送消息使之最小化

b->PostMessage(WM_SYSCOMMAND,SC_MINIMIZE);
pomelowu 2004-09-13
  • 打赏
  • 举报
回复
CWnd::GetTopLevelOwner

用类C调用GetTopLevelOwner获得一个窗口指针,然后你想干什么都成
ghxmagic 2004-09-13
  • 打赏
  • 举报
回复
找到待控窗口的指针发送相应消息就行
flyelf 2004-09-13
  • 打赏
  • 举报
回复
发送消息
把a的句柄通过b传递给c
PostMessage(hwnda, WM_SYSCOMMAND, SC_MINIZE, 0 );

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧