Учебное пособие: Файловая система
0, 0, rc.right, rc.bottom, hwnd, (HMENU)1, hInstance, NULL);
if (!IsWindow(hwndView)) {
// если окно просмотра создать не удалось, то завершаем приложение
// сообщивобошибке
MessageBox(NULL, "Cannot create viewer window!", NULL, MB_OK);
return FALSE;}
// для красоты используем моноширинный шрифт (подробнее см. GDI)
SetWindowFont(hwndView, GetStockObject(ANSI_FIXED_FONT), FALSE);
// функция SetWindowFont в документации не описана, это макрос, определяемый
// в windowsx.h Подробнее — см. исходный текст этого файла.
// запоминаем хендл окна просмотра в структуре описания главного окна
// (при регистрации класса надо зарезервировать 4 байта — что бы и в
// Windows API и в Win32 API использовать одинаковые значения и функции)
SetWindowLong(hwnd, 0, (LONG)hwndView);
// 1. мы не знаем заранее, как много места понадобиться для описания всех
// томов и устройств DOS. Для простоты создадим временный файл с заранее
// заданным именем c:\test.txt (строго говоря, надо было бы проверить наличие
// переменной TEMP или TMP, убедиться, что она указывает на корректный
// каталог - в жизни часто она указывает на несуществующий каталог, диск
// или даже на защищенный диск - всякое бывает - и создать файл там — но это
// все слишком громоздко для примера).
// 2. в этом файле мы соберем нужный текст, а затем разом передадим его окну
// просмотра, после чего файл удалим.
// 3. для работы с файлами используем функции Windows API, что бы сохранить
// переносимость между разными платформами
hf = _lcreat(tempfile, 0);
if (hf == HFILE_ERROR) {
// при ошибке - сообщаем и заканчиваем (окно просмотра будет уничтожено
// позже, приобработке WM_DESTROY