c++一些编程过程中的一些困惑?解决办法

c++一些编程过程中的一些困惑?
问题集:

1)GetClientRect(&rc)得到的点rc.left top一定是0,0吗?而right,bottom一定是heigh,width吗?

2)用try{} catch(...){}一定能规避所有出轨的机会,而让程序走向正轨吗?

3)一些用向导增加进的函数,如果人为更改访问属性,会发生什么吗?
如virtual BOOL OnInitDialog(),其默认protected。
如afx_msg void OnButton1(),其默认public;

4)m_Tab1.GetClientRect(&rc);m_Tab1.ClientToScreen(&rc);ScreenToClient(&rc);先得到客户,又到屏幕,又到客户。这究竟是要得到什么?

5)《大话设计模式》与《UML》之间有关联吗?

------解决方案--------------------
1) 不会,没研究过界面方面的
2)有些是拦不住的,比如很多被加壳的代码里通过修改堆栈的ebp,esp,达到同样切换函数的目标,这种方法用c++的try,catch根本拦不住,可以使用__try{} __catch(),但这是专属于windows的seh异常处理机制,丧失了可移植性。
3) 看你改了什么,添加普通的函数和消息响应函数,向导添加到东西是不一样的
普通函数:在类定义里添加成员函数声明,并在.cpp里添加成员函数的实现
消息响应函数:添加3处:
1.添加 消息响应函数声明,该声明同时也添加到消息映射宏声明里
2.添加 消息响应实现,这个和普通函数一样
3.添加消息映射宏的实现
比如添加 OnClose()
1. // Generated message map functions
//{{AFX_MSG(CMy1Dlg)
......
afx_msg void OnClose();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
2. void CMy1Dlg::OnClose() {....}
3. BEGIN_MESSAGE_MAP(CMy1Dlg, CDialog)
//{{AFX_MSG_MAP(CMy1Dlg)
....
ON_WM_CLOSE()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

其实自己添加消息映射也就添加这三项,实在想刨根问底这些宏在干嘛,去看深入浅出mfc
4. 界面编程,继续飘过
5. 不熟悉,但据了解 设计模式是用来处理各种实际问题的类之间关系的各个模型,
UML,Unified Modeling Language,是一种建模语言,貌似是描述的一种途径,一种工具

------解决方案--------------------
5)《大话设计模式》与《UML》之间有关联吗?

没有关联,设计模式是软件设计问题。uml是跨行业的,通用建模标准