1,windows对程序错误的处理,

《windows核心编程》笔记(一)int APIENTRY _tWinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPTSTR    lpCmdLine,int       nCmdShow)

调试时,在Watch窗口输入“@err,hr”,就可以显示线程的最后错误代码的号码和该错误的描述信息。
《windows核心编程》笔记(一)

VC6.0还带了一个实用小程序,可以用来将错误代码转换为相应的文本描述信息。
《windows核心编程》笔记(一)

书中给出了一个模仿VC6自带的那个Error Lookup实用程序的示例:

《windows核心编程》笔记(一)#define ESM_POKECODEANDLOOKUP    (WM_USER + 100)  //用户自定义消息
《windows核心编程》笔记(一)
const TCHAR g_szAppName[] = TEXT("Error Show");
《windows核心编程》笔记(一)
《windows核心编程》笔记(一)BOOL Dlg_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam) 

 

这里用到了几个宏定义,下面这个是用来指定消息处理函数的

《windows核心编程》笔记(一)// The normal HANDLE_MSG macro in WindowsX.h does not work properly for dialog
《windows核心编程》笔记(一)
// boxes because DlgProc returns a BOOL instead of an LRESULT (like
《windows核心编程》笔记(一)
// WndProcs). This chHANDLE_DLGMSG macro corrects the problem:
《windows核心编程》笔记(一)
#define chHANDLE_DLGMSG(hWnd, message, fn)                 \
《windows核心编程》笔记(一)   
case (message): return (SetDlgMsgResult(hWnd, uMsg,     \
《windows核心编程》笔记(一)      HANDLE_##message((hWnd), (wParam), (lParam), (fn))))
《windows核心编程》笔记(一)

下面这个是用来为窗口设置大/小图标

《windows核心编程》笔记(一)// Sets the dialog box icons
《windows核心编程》笔记(一)
inline void chSETDLGICONS(HWND hWnd, int idi) 

相关文章: