Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.11.2009, 21:40   #1
-CrAzYMaN-
 
Регистрация: 18.11.2009
Сообщений: 6
По умолчанию Не создается диалог

Доброго времени суток, пишу программу на C используя WinApi.
Компилятор MinGW

gcc -v
Код:
Reading specs from ../lib/gcc/mingw32/3.4.5/specs
Configured with: ../gcc-3.4.5-20060117-3/configure --with-gcc --with-gnu-ld --wi
th-gnu-as --host=mingw32 --target=mingw32 --prefix=/mingw --enable-threads --dis
able-nls --enable-languages=c,c++,f77,ada,objc,java --disable-win32-registry --d
isable-shared --enable-sjlj-exceptions --enable-libgcj --disable-java-awt --with
out-x --enable-java-gc=boehm --disable-libgcj-debug --enable-interpreter --enabl
e-hash-synchronization --enable-libstdcxx-debug
Thread model: win32
gcc version 3.4.5 (mingw-vista special r3)
Написал rc файл

Код:
IDC_BACKUP DIALOGEX MOVEABLE PURE LOADONCALL DISCARDABLE 0, 0, 250, 215, 0
EXSTYLE WS_EX_TOOLWINDOW
STYLE DS_SETFONT |DS_SETFOREGROUND |WS_POPUP |WS_CLIPCHILDREN |WS_SYSMENU |WS_THICKFRAME |WS_MAXIMIZEBOX |WS_CAPTION 
CAPTION "Резервна копія"
FONT 8, "Ms Shell Dlg", 400, 0, 1
LANGUAGE LANG_NEUTRAL, 0
{
 	CONTROL "ОК",IDC_BUTTON0,"BUTTON",BS_DEFPUSHBUTTON |BS_VCENTER |BS_CENTER |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,123,190,50,14,0x0,0
	CONTROL "Відміна",IDC_BUTTON1,"BUTTON",BS_DEFPUSHBUTTON |BS_VCENTER |BS_CENTER |WS_CHILD |WS_TABSTOP |WS_VISIBLE ,182,190,50,14,0x0,0
}
когда его вызываю ничего не происходит((
если изминить rc к вот такому виду:

Код:
IDC_BACKUP DIALOGEX MOVEABLE PURE LOADONCALL DISCARDABLE 0, 0, 250, 215, 0
EXSTYLE WS_EX_TOOLWINDOW
STYLE DS_SETFONT |DS_SETFOREGROUND |WS_POPUP |WS_CLIPCHILDREN |WS_SYSMENU |WS_THICKFRAME |WS_MAXIMIZEBOX |WS_CAPTION 
CAPTION "Резервна копія"
FONT 8, "Ms Shell Dlg", 400, 0, 1
LANGUAGE LANG_NEUTRAL, 0
{
}
Окошко вызывается)

вызываю вот так:

Код:
LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wparam,LPARAM lparam)
{
	switch (Message)
	{
		case WM_COMMAND:
			switch (wparam)
			{
				case IDM_DB_BACKUP:
					DialogBox(hInst, MAKEINTRESOURCE(IDC_BACKUP), hwnd, BackupDlgProc); 
					return 0;
				default: 	
					return DefWindowProc(hwnd,Message,wparam,lparam);
			}
		case WM_DESTROY:
			PostQuitMessage(0);
			return 0;
		default:
			return DefWindowProc(hwnd,Message,wparam,lparam);
		
	}
}
обрабатываю вот так:
Код:
BOOL CALLBACK BackupDlgProc(HWND hdlg, UINT imsg, WPARAM wparam, LPARAM lparam)
{
	switch(imsg)
	{
	case WM_INITDIALOG :
		return TRUE;
	case WM_COMMAND :
		switch(LOWORD(wparam))
		{
			case IDC_BUTTON0:
			break;
			case IDC_BUTTON1:
			EndDialog(hdlg, 0);
			return TRUE;
		}
	break;
	}	
return FALSE;
}
пробывал инициализировать с помощью InitCommonControls(); перед вызовом диалога, и после WM_INITDIALOG, тоже ничего не дало.

подскажите что я не так делаю, ну и заодно может какие замечания будут)

гуглил, но ничего не нашел
-CrAzYMaN- вне форума Ответить с цитированием
Старый 20.11.2009, 12:28   #2
-CrAzYMaN-
 
Регистрация: 18.11.2009
Сообщений: 6
По умолчанию

гм, проблема не в коде а в ОС.
Почему могут не вызываться диалоги? ОС XP некоторые службы остановлены, файлы вроде есть все.

под wine нормально работает, под 2003 сервер тоже.
-CrAzYMaN- вне форума Ответить с цитированием
Старый 20.11.2009, 20:22   #3
lennon
Заблокирован
 
Регистрация: 18.11.2007
Сообщений: 254
По умолчанию

ресурс неправильно описан значит, я так понял вы кнопочки на форме размещаете. Если с ними не работает, а без них запускаеться, значит проблема может быть связана с ними (тофтология, сори). Есть бесплатные редакторы, чем советую вам воспользоваться.

Вот пример того как должны описываться кнопки на диалогах
Код:
129 DIALOGEX 0, 0, 316, 180, 0
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION
CAPTION "Dialog"
FONT 8, "MS Shell Dlg", 400, FALSE
{
 PUSHBUTTON "Button1", 1000, 0, 166, 158, 14 //1000 - индетефикатор кнопки
 PUSHBUTTON "Button2", 1001, 158, 166, 157, 14 //1001 - индетефикатор кнопки
}
Все же я вам советую в дальнейшем пользоваться редакторами

Последний раз редактировалось lennon; 20.11.2009 в 20:24.
lennon вне форума Ответить с цитированием
Старый 23.11.2009, 10:13   #4
-CrAzYMaN-
 
Регистрация: 18.11.2009
Сообщений: 6
По умолчанию

Цитата:
Сообщение от lennon Посмотреть сообщение
ресурс неправильно описан значит, я так понял вы кнопочки на форме размещаете. Если с ними не работает, а без них запускаеться, значит проблема может быть связана с ними (тофтология, сори). Есть бесплатные редакторы, чем советую вам воспользоваться.

Вот пример того как должны описываться кнопки на диалогах
Код:
129 DIALOGEX 0, 0, 316, 180, 0
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUPWINDOW | WS_CAPTION
CAPTION "Dialog"
FONT 8, "MS Shell Dlg", 400, FALSE
{
 PUSHBUTTON "Button1", 1000, 0, 166, 158, 14 //1000 - индетефикатор кнопки
 PUSHBUTTON "Button2", 1001, 158, 166, 157, 14 //1001 - индетефикатор кнопки
}
Все же я вам советую в дальнейшем пользоваться редакторами
спасибо за совет, делаю так: редактирую в редакторе, потом подправляю, если необходимо.
Проблема была в манифесте, когда убрал манифест всё заработало.
-CrAzYMaN- вне форума Ответить с цитированием
Старый 23.11.2009, 11:06   #5
lennon
Заблокирован
 
Регистрация: 18.11.2007
Сообщений: 254
По умолчанию

отзыв еси помог ))
lennon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не создается socket() isPolin C/C++ Сетевое программирование 2 24.06.2009 14:41
BDE псевдоним не создается Роман Радер Общие вопросы Delphi 0 19.04.2009 15:10
Кнопка не создается Манжосов Денис :) Компоненты Delphi 10 28.04.2008 17:43
Не создается сводная диаграмма Eugenius Microsoft Office Excel 1 18.11.2007 13:48