powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Win Api диалог.
10 сообщений из 10, страница 1 из 1
Win Api диалог.
    #32838248
land
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
Как средствами windows api создать окно диалога, с использованием
шаблона в памяти.

Я пробовал следующим образом.

#include "stdafx.h"
#define WIN32_LEAN_AND_MEAN
#include <windows.h>

struct DIALOG
{
DLGTEMPLATE dlgTemplate;
WORD wMenu;
WORD wClass;
WCHAR szTitle[9];
WORD wFontSize;
WCHAR szFontFaceName[7];


};

DIALOG dialog =
{
{
WS_POPUP | WS_CAPTION | WS_SYSMENU | DS_MODALFRAME | DS_CENTER | DS_SETFONT,
0,
4,
0, 0, 186, 46,
},
0x0000,
0x0000,
{ L'P', L'u', L'r', L'e', L' ', L'A', L'P', L'I', L'\0' },
8,
{ L'T', L'a', L'h', L'o', L'm', L'a', L'\0' },

};
int CALLBACK DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
{
case WM_COMMAND:
if (IDCANCEL == LOWORD(wParam))
{
EndDialog(hwndDlg, LOWORD(wParam));
return TRUE;
}

}
return FALSE;
}
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR, int)
{
DialogBoxIndirect(hInstance, &dialog.dlgTemplate, GetDesktopWindow(), DialogProc);
return 0;
}

(Код не мой)

При этом окно не показывается? Почему не могу понять.

Спасибо за ответ
Если можно дайте ссылку на пример?
...
Рейтинг: 0 / 0
Win Api диалог.
    #32838713
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Молодец :)

У меня чё-то никогда храбрости не хватало руками шаблон забабахать(да и не нужен он был вопчем-то).

Попробуй WS_VISIBLE в свойства поставить ;)

Если не поможет, посмотри спаем, вообще он создался или нет.
Если нет, тогда смотри ГетЛастЕррор()

PS. Пример, часом, не с msdn'а?
...
Рейтинг: 0 / 0
Win Api диалог.
    #32838777
dwl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dwl
Гость
ИМХО это макрос, вокруг функции CreateWindowEx, после вызова которой первое что она делает это посылает сообщение WM_INITDIALOG в опреределнную для макроса winproc. А там, как мне кажется, тебе надо поставить вызов SetWindowPos. Кстати, опять ИМХО, макрос не вернет управление дальше пока в dialogproc не будет вызван EndDialog.

все это есть в MSDN. Кстати там пример создания шаблона в памят более емкий и запутанный.
...
Рейтинг: 0 / 0
Win Api диалог.
    #32838856
dwl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dwl
Гость
вот живой примерчик
http://cvs.sourceforge.net/viewcvs.py/vim/vim/src/gui_w32.c?rev=1.98
...
Рейтинг: 0 / 0
Win Api диалог.
    #32838948
land
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пример я взял отсюда . Он рабочий.
http://www.rsdn.ru/Forum/Message/24515.htm

После того как я вырезал ненужную мне часть прога перестала идти.
...
Рейтинг: 0 / 0
Win Api диалог.
    #32839534
dwl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dwl
Гость
Вобчем самое поразительное при вызове макроса отладчик даже не заходит внутрь функции обработки сообщений.
...
Рейтинг: 0 / 0
Win Api диалог.
    #32839771
dwl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dwl
Гость
вобчем все просто - выравнивание и размер структуры имеют сильное значение. Видишь незаметную четверочку после нолика, который идет вслед за стилями окна - это кол-во итемов на диалоге - поставь верное значение и все будет путем. Я сделал и у меня все заработало
...
Рейтинг: 0 / 0
Win Api диалог.
    #32840619
Sie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sie
Гость
Ну вы блин, даёте :)
Вы не читали описание к функции, перед тем как её звать? :)
...
Рейтинг: 0 / 0
Win Api диалог.
    #32840784
land
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Действительно как я не заметил... :)

Благодарю всех за ответы
...
Рейтинг: 0 / 0
Win Api диалог.
    #32840927
dwl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dwl
Гость
кстати вы поддолкнули меня на идею использования loki::tuple для этого дела, для статического описания таких структур на основе списка типов. Очень показательно!
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Win Api диалог.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]