Перед вами
очередной выпуск рассылки "Программирование на WinApi" Переводы многих функций Win32API, которые часто используются
в данной рассылке, вы можете получать, подписавшись на дружественную
рассылку "WinAPI на
русском". Справочник по функциям Win32API вы
можете посмотреть на сайте BcbDev.ru в разделе MSDN
по-русски.
Как создать приложение
основанное на диалоге используя Visual C++ 6 ?
Пошаговое руководство ;-) 1.
Запускаем Visual C++. 2. Из меню "File" выбираем "New". Откроется
диалог "New". 3. Выбираем "Win32 Application" и затем щелкаем на поле
ввода “Project name” и вводим имя проекта (например "DialogApp") .
Нажимаем OK. 4. В диалоговом окне “Win32 Application – Step
1 of 1” выбираем “A simple Win32 application” и нажимаем
"Finish". 5. В появившемся окне “New Project Information” нажимаем Ok
чтобы закрыть его 6. В меню "Project" выбираем "Add to
Project..." а затем " New...". Появится другое диалоговое окно "New".
Нажимаем на "Resource Script". Даем ему имя (например "MyDialogApp") и
затем нажимаем OK. 7. Будет создан сценарий ресурсов и
открыто новое окно (MyDialogApp.rc). Закройте это окно. 8. В окне
"Workspace", нажмите на вкладку "Resource View". Щелкаем правой
кнопки мышки на ресурсах MyDialogApp и выбрать
"Insert...". Появится диалоговое окно "Insert Resource" .
Выделите "Dialog", и выберите "New". Будет создано новое диалоговое окно
IDD_DIALOG1. 9. Теперь, в окне "Workspace", выбираем " File View"
Затем Тогда, в "Source Files", дважды щелкнем на "MyDialogApp.cpp",
чтобы открыть этот файл. Вырезаем и вставляем следующий код в окно,
записывая поверх кода, который сгенерировал мастер Visual Studio.
// MyDialogApp.cpp : Определяет точку входа приложения.
//
#include "stdafx.h"
#include "resource.h"
BOOL CALLBACK MainDlgProc(HWND hDlg, UINT message, WORD wParam, LONG lParam)
{
switch (message) {
case WM_INITDIALOG:
return TRUE;
case WM_COMMAND:
switch (wParam) {
case IDOK:
EndDialog( hDlg, TRUE );
return TRUE;
case IDCANCEL:
EndDialog( hDlg, FALSE );
return TRUE;
}
break;
}
return FALSE;
}
int APIENTRY WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR lpCmdLine, int nCmdShow)
{
DialogBox( hInst, MAKEINTRESOURCE(IDD_DIALOG1), 0, (DLGPROC) MainDlgProc );
return 0;
}
Все. На этом методика заканчивается. По сравнению с методом, основанным на CreateWindow,
генерируемым при создании типичного приложения "Hello World",
код гораздо более компактен и более пригоден для создания утилиты или другого подобного приложения.