Подключение формы из ресурсов, и изменение стиля формы.
Здравствуйте уважаемые коллеги, не так давно потратил прилично времени на поиски информации о том как же всё таки мне подключить окошко к программе созданной в файле ресурсов, возможно искал не там но не суть, и так приступим.
1: С чего начинается любая самая лучшая программа в мире, конечно же с нового проекта и так создадим !
[Ссылки могут видеть только зарегистрированные пользователи. ]
2: И так проект создан, теперь необходимо добавить в наш проект файл ресурсов. В дереве проекта нажимаем левой кнопкой мыши по "Файлы ресурсов" и выбираем создать элемент.
[Ссылки могут видеть только зарегистрированные пользователи. ]
3: И в открывшемся окошке выбираем Ресурс -> Файл ресурсов имя оставляем по умолчанию Resource.rc и нажимаем добавить.
[Ссылки могут видеть только зарегистрированные пользователи. ]
4: Теперь необходимо добавить то ради чего мы тут и собрались а именно ресурс с нашим окошком и так создадим. Идём в окно ресурсов и жмакаем правой кнопкой мышки по Resource, нажимаем добавить ресурс.
[Ссылки могут видеть только зарегистрированные пользователи. ]
5: В появившемся окне выбираем Dialog.
[Ссылки могут видеть только зарегистрированные пользователи. ]
6: И вот оно ! Наше окошко с конструктором форм, где можно добавлять, удалять, перетаскивать и изменять размеры наших элементов.
PS: Добавляем элементы управления без префикса MFC иначе в наш проект будет включена библиотека MFC и с данными элементами на придётся работать через функции данной библиотеки.
[Ссылки могут видеть только зарегистрированные пользователи. ]
7: Теперь переходим обратно в обозреватель решения, и нажимаем правой кнопкой мышки по "Файлы исходного кода"
[Ссылки могут видеть только зарегистрированные пользователи. ]
8: И там Добавить, создать элемент.
[Ссылки могут видеть только зарегистрированные пользователи. ]
9: Собственно мы создаём теперь тот файл где мы будем писать нашу чудесную программу выбираем Visual c++ и там Файл С++ , назовём его main.
[Ссылки могут видеть только зарегистрированные пользователи. ]
10: Теперь в созданном файле напишем вот такой код. IDOK это идентификатор нашей кнопки.
[Ссылки могут видеть только зарегистрированные пользователи. ]
11: Теперь запустим.
[Ссылки могут видеть только зарегистрированные пользователи. ]
12: Ура вот оно наше окошко ! И никакого лишнего кода, но что это кнопочки ужасные времён вин 95, давайте исправлять, подключим заголовок манифеста. На сайте msdn очень хорошо написано по включению манифеста и способы различные, примеры.
[Ссылки могут видеть только зарегистрированные пользователи. ]
13: Запустим ещё раз и...
[Ссылки могут видеть только зарегистрированные пользователи. ]
Поздравляю у нас получилось, таким образом можно создавать дочерние, не дочерние и.т.д окна. И главное удобное редактирование и никаких сторонних библиотек.
Сам код:
Код:
#include <Windows.h>
#include "Resource.h"
// Манифест, приводим стиль окошечек и прочих рюшечек к системному.
#pragma comment(linker,"\"/manifestdependency:type='win32' \
name='Microsoft.Windows.Common-Controls' version='6.0.0.0' \
processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
BOOL CALLBACK DlgProc(HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrewInst, LPSTR lpCmdLine, int nCmdShow)
{
DialogBoxParam(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), 0, (DlgProc), 0);
return 0;
}
BOOL CALLBACK DlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg) // Обрабатываем сообщения
{
case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDOK: // Обработчик кнопки ОК
MessageBox(hWnd, "Нажата клавиша ОК", "Подсказка", NULL);
break;
}
case WM_CLOSE:
EndDialog(hWnd, 0);
return FALSE;
}
return FALSE;
}
Последний раз редактировалось JKHKJgj; 19.04.2015 в 21:05.