WndProc中的WM_PAINT讯息是用Windows的CreateFile函式来打开档案的,这将传回一个档案代号,该代号可以传递给Windows的ReadFile和CloseHandle函式。
现在,在本章中,我们第一次碰到这个问题:Unicode。我们所希望最完美的方式大概就是让作业系统辨认文字档案的种类,使ReadFile能将ASCII档案转换成Unicode文字,或者将Unicode档案转换成ASCII文字。但现实并非如此完美。ReadFile的功能只是读取档案中未经转换的位元组,也就是说,DrawTextA(在编译好的可执行档中没有定义UNICODE识别字)会把文字解释为ASCII,而DrawTextW(Unicode版)会假设文字是Unicode的。
因此程式真正应该做的是去判别档案所包含的是ASCII文字还是Unicode文字,然後再恰当地呼叫DrawTextA或者DrawTextW。实际上,HEAD采用一个比较简单的方式,它只呼叫了DrawTextA。