for(i=0; i < dim(_messageEntries); i++) { // 訊息對照表
if (message == _messageEntries[i].nMessage)
return((*_messageEntries[i].pfn)(hWnd, message, wParam, lParam)); /*《----1.这里是什麽意思?没有见过c的函数指针有这样的调用方法啊?"((*_messageEntries[i].pfn)(hWnd, message, wParam, lParam)"2.怎麽理解?*/
}
for(i=0; i < dim(_commandEntries); i++) { // 命令項目對照表
if(LOWORD(wParam) == _commandEntries[i].nMessage)《----3.这里是什麽意思?
return((*_commandEntries[i].pfn)(hWnd, message, wParam, lParam));
}
4.还有书上说wParam和IParam一个是十六进制,一个是32进制,但他还是没说清到底有什麽区别啊?请指点!
if (message == _messageEntries[i].nMessage)
return((*_messageEntries[i].pfn)(hWnd, message, wParam, lParam)); /*《----1.这里是什麽意思?没有见过c的函数指针有这样的调用方法啊?"((*_messageEntries[i].pfn)(hWnd, message, wParam, lParam)"2.怎麽理解?*/
}
for(i=0; i < dim(_commandEntries); i++) { // 命令項目對照表
if(LOWORD(wParam) == _commandEntries[i].nMessage)《----3.这里是什麽意思?
return((*_commandEntries[i].pfn)(hWnd, message, wParam, lParam));
}
4.还有书上说wParam和IParam一个是十六进制,一个是32进制,但他还是没说清到底有什麽区别啊?请指点!
2.道理和1一样,看看messageEntries的结构吧,自然就明白了.
3.在MFC中wParam中包含了消息类型,如WM_CREATE这样的消息,wParam中的低字节保存了Windows消息这里LOWORD(wParam)就是取得wParam低字节的内容也就是取得Windows消息.
4.书上应该说的是wParam和lParam一个是十六位,一个是三十二位的吧.
这个*_commandEntries[i].pfn是什麽调用方法?返回值是什麽?后面紧跟的hWnd, message, wParam, lParam)"是谁的参数?
用sizeof()算一下。看看具体值是多少。
HIWOR表示高断字节