Во-первых, практически нет документации (которую я когда-либо мог найти), объясняющей, как использовать WTL. Кажется, это библиотека для экспертов, для экспертов.
В таком случае вы можете выбрать один из следующих вариантов: использовать мастер приложений MFC для создания приложения или перейти по маршруту Win32 API. Сам Win32 API - это C API, MFC - это оболочка C ++ вокруг C Win32 API с добавлением модели приложения для просмотра документов.
Однако, вместо создания ваших элементов управления из кода: ближайший аналог, который имеет родной Windows API к «WinForm» - это диалоговое окно. Диалоги располагаются в файлах ресурсов, которые встраиваются во время компоновки в разрабатываемый вами EXE или DLL. Ресурс диалогового окна принимает настройку шрифта, которая автоматически применяется ко всем элементам управления в диалоговом окне, и диалоговые окна размещаются в единицах измерения, а не в пикселях, что позволяет им автоматически масштабироваться относительно шрифта, а также в настройках dpi в системе пользователя .
Если вы создаете ресурс диалога и добавляете его в простое приложение, он должен выглядеть не сложнее, чем этот, чтобы вывести диалоговое окно на экран и закрыть в ответ на нажатие кнопки OK.
#include <windows.h>
#include "resource.h"
BOOL CALLBACK MyDialogProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
switch(uMsg){
case WM_INITDIALOG:
return TRUE;
case WM_COMMAND:
switch(LOWORD(wParam){
case IDOK:
EndDialog(hwnd,wParam);
}
return TRUE;
}
return FALSE;
}
int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hNull,LPCTSTR strCmdLine,int nCmdShow)
{
return DialogBoxParam(hInstance,MAKEINTRESOURCE(IDD_DIALOG1),NULL,&DialogProc,0l);
}