读书时间 2011/11/15

15 篇文章 0 订阅

《把脉VC++》

 

Chap 2

Q:VC6对template/STL等支持非常差?

#include <cstdio>  vs. #include <stdio.h>

C函数会置于全局名字空间std中。

 

Chap 3.

TCHAR = char/wchar_t

 

Chap 3. 常见对象的表达

引用只是一个别名。

_intN(_int8, _int16)VC++专有整数数据类型


《Windows Programming》V2

Chap 6. Windows

1. WinMain()

int __stdcall WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPTSTR lpCmdLine, int nCmdShow)
{
ASSERT(hPrevInstance == NULL);


int nReturnCode = -1;
CWinThread* pThread = AfxGetThread();
CWinApp* pApp = AfxGetApp();


// 类库框架内部的初始化
if(!AfxWinInit(hInstance, hPrevInstance, lpCmdLine, nCmdShow))
goto InitFailure;


// 应用程序的全局初始化
if(pApp != NULL && !pApp->InitApplication())
goto InitFailure;


// 主线程的初始化
if(!pThread->InitInstance())
{
nReturnCode = pThread->ExitInstance();
goto InitFailure;
}


// 开始与用户交互
nReturnCode = pThread->Run();


InitFailure:
return nReturnCode;
}

Q:pThread与pApp是不是同样一个object?(因为pApp也是一种CWinThread)


2. CMyApp::InitInstance()

///
// CMyApp成员函数的实现代码
BOOL CMyApp::InitInstance()
{
m_pMainWnd = new CMyWnd;
::ShowWindow(*m_pMainWnd, this->m_nCmdShow);
::UpdateWindow(*m_pMainWnd);
return TRUE; // 返回TRUE进入消息循环
}

注:在这里,CWinApp与CWnd发生关系

Q::;ShowMainWnd()是哪一个函数?似乎不太对?


3. CMyWnd::CMyWnd()

///
// CMyWnd成员函数的实现代码
CMyWnd::CMyWnd()
{
LPCTSTR lpszClassName = AfxRegisterWndClass(CS_HREDRAW|CS_VREDRAW, 
::LoadCursor(NULL, IDC_ARROW), (HBRUSH)(COLOR_3DFACE+1));


CreateEx(WS_EX_CLIENTEDGE, lpszClassName, 
"框架程序创建的窗口", WS_OVERLAPPEDWINDOW, 
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL);
}

注:窗口类注册与窗口生成


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值