Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Win Api диалог. / 10 сообщений из 10, страница 1 из 1
22.12.2004, 09:50
    #32838248
land
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Win Api диалог.
Здравствуйте.
Как средствами 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
22.12.2004, 11:52
    #32838713
CEMb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Win Api диалог.
Молодец :)

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

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

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

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

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

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

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


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