Почему не запускается форма на Visual C?
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Почему не запускается форма на Visual C?

Почему не запускается форма на Visual C?

Ответ
Поиск в этой теме
Непрочитано 13.03.2011, 19:50 #1
Почему не запускается форма на Visual C?
МишаИнженер
 
Регистрация: 14.12.2008
Сообщений: 1,134

Помогите разобраться почему не запускается форма на Visual C
Создал проект, добавил форму, добавил на форму элементы управления.
Нажимаю треугольник, форма не запускается. Что ещё надо сделать чтобы форма запустилась?

Миниатюры
Нажмите на изображение для увеличения
Название: Почему не запускается форма на Visual C.jpg
Просмотров: 208
Размер:	39.0 Кб
ID:	55476  

Просмотров: 13211
 
Непрочитано 13.03.2011, 21:10
#2
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Считаешь, что на форуме телепаты? Без кода и с таким скрином... Попробуй сам глянуть свой скрин и попытаться прочитать, что там написано (я попиксельно распознавать текст не в состоянии).
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 13.03.2011, 21:15
#3
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от МишаИнженер Посмотреть сообщение
Нажимаю треугольник, форма не запускается. Что ещё надо сделать чтобы форма запустилась?
Сохранить проект на диск, скомпилировать исполняемый файл, а уж потом запускать его...
gomer вне форума  
 
Автор темы   Непрочитано 14.03.2011, 03:26
#4
МишаИнженер


 
Регистрация: 14.12.2008
Сообщений: 1,134


Вот архив моего проекта. Посмотрите почему не запускается форма. При запуске выдаёт ошибку что не хватает какого-то файла. Что это за файл?
Вложения
Тип файла: zip Мой проект.zip (2.03 Мб, 68 просмотров)
МишаИнженер вне форума  
 
Непрочитано 14.03.2011, 08:12
1 | #5
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от МишаИнженер Посмотреть сообщение
Вот архив моего проекта. Посмотрите почему не запускается форма. При запуске выдаёт ошибку что не хватает какого-то файла. Что это за файл?
Скрин:



Я не пишу на Visual C++ (с этим - к Александру Ривилису), но тем не менее, открыв указанный проект вижу, что в "юзингах" ты указал пространства имён, а заголовочные файлы где? Он у тебя только один, да и тот только лишь с определением окна... И ещё, возможно я конечно и ошибаюсь, но... Зачем определение подобного окна засунуто в заголовочный файл в раздел "заголовочные файлы"? Я бы разместил его как файл кода в блоке "Файлы исходного кода", хотя х.з. - может в Visual C++ так и пишут...

Однако то, что ты даже не в курсе, что нужно подключить заголовки, дабы заработали твои "юзинги" + "Нажимаю треугольник, форма не запускается. Что ещё надо сделать чтобы форма запустилась?"(с) - это наводит на мысль, что ты даже не читал информацию по теме программирования на обозначенном языке, но тем не менее берёшься писать код.
Offtop: Воздержусь от нелестных комментариев в адрес топикстартера - я и без того тут "отрицательный персонаж"...
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось hwd, 14.03.2011 в 08:24.
hwd вне форума  
 
Автор темы   Непрочитано 14.03.2011, 10:37
#6
МишаИнженер


 
Регистрация: 14.12.2008
Сообщений: 1,134


Спасибо hwd! Признаюсь моей основной задачей было запустить форму. Поэтому я взял первую строку из списка папок, нажал на ней правой кнопокой и выбрал команду добавить..., потом нашёл форму приложения Windows и нажал ОК. Таким образом форма попала в "файлы заголовков". И насколько я понял надо эту форму на всякий случай перетащить в "файлы исходного кода", или наверное в "файлы ресурсов" если планируется из этой формы только вызывать подпрограммы из других файлов. Такой подход наверное более современен и практичен в современном программировании?
P.S.
Книги читать очень дорого, долго и трудно, простите. Гораздо веселее постигать азы программирования в процесе общения!
МишаИнженер вне форума  
 
Непрочитано 14.03.2011, 10:50
1 | #7
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от МишаИнженер Посмотреть сообщение
Такой подход наверное более современен и практичен в современном программировании?
Я пишу на C#, а не на Visual C++, поэтому тут не подскажу. Имхо - в ресурсы пихать код окна не следует - в них лучше размещать то, что требуется локализовывать + картинки и т.п. (если это нужно).
Цитата:
Сообщение от МишаИнженер Посмотреть сообщение
Книги читать очень дорого, долго и трудно, простите. Гораздо веселее постигать азы программирования в процесе общения!
Потом такой код "весело"(с) будет сопровождать как самому автору, так и тому кодеру, которому (не дай Бог!!!) придётся это по какой-либо причине делать (если придётся)...

Не читая книг ничего нормального никогда не напишешь, ибо полагаться на то, что "добрый дядя с форума" всегда ответит и разжуёт - это 100% гарантия того, что навыки программирования останутся на дохлую тройку, а если и вырастут до четвёрки, то к пенсии.

имхо.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 14.03.2011, 11:22
1 | #8
Pastor

это только кличка
 
Регистрация: 22.10.2006
Москва
Сообщений: 252


Цитата:
навыки программирования останутся на дохлую тройку
Увы, навыки даже "дохлой тройки" не достигнут. С языком C++ и, тем более, с C++/CLI халява не прокатит!!!

В файл Приветствие.cpp нужно добавить функцию - точку входа:
Код:
[Выделить все]
using namespace Мойпроект;

[STAThreadAttribute]
int main(array<System::String ^> ^args)
{
	// Enabling Windows XP visual effects before any controls are created
	Application::EnableVisualStyles();
	Application::SetCompatibleTextRenderingDefault(false); 

	// Create the main window and run it
	Application::Run(gcnew Приветствие());
	return 0;
}
И в настройках проекта для компилятора указать опцию /clr, а для линкера - точку входа main.
И не пишите никогда ничего в коде на русском. Это, увы, дурной тон...

Мог бы предложить пару-тройку приличных книг, но поскольку их "читать очень дорого, долго и трудно", то не буду.
Непонятно, как вам удалось стать мишей-инженером с таким-то подходом.
__________________
...в шее моей жилы железные, и лоб мой - медный...

Последний раз редактировалось Pastor, 14.03.2011 в 11:28.
Pastor вне форума  
 
Автор темы   Непрочитано 14.03.2011, 18:25
#9
МишаИнженер


 
Регистрация: 14.12.2008
Сообщений: 1,134


Спасибо всем!
Кажется я понял почему не запускается форма. Просто при создании проекта или решения (в чём разница непонятно) я поставил опцию "создать пустой проект" и файлов поэтому в моих папках нету. Попробовал создать новый проект без опции и в каждую папку добавились по 3-4 файла. Добавил так же форму. Запускаю на выполнение появляется окно с меню которого в списке форм у меня нет. И где это окно успело запрограммироваться? В этом окне есть меню Файл->Выход и Справка. А вот форма никак не запускается. Наверное надо добавить команду в меню чтобы запускалась форма.
Подскажите пожалуйста в каком файле и в каком месте файла надо добавить код чтобы появилось меню запускающее форму.
И ещё если знаете подскажите пожалуйста как в этом проекте получить доступ к объектам AutoCAD?
P.S. Файл проекта прилагается
Вложения
Тип файла: zip Новый проект.zip (4.77 Мб, 49 просмотров)
МишаИнженер вне форума  
 
Непрочитано 14.03.2011, 18:41
#10
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Тебе не повезло - из тех, кому лень/трудно/дорого читать книжки, здесь вольготно живётся только тем, кто "заказывает" код на AutoLisp и VisualLisp. Так что если хочешь получить готовое решение - просто в условии своей задачи поменяй "Visual C" на "Lisp" и будет тебе счастье - за тебя всё напишут (причём не в одном экземпляре) и расскажут что с этим делать. Т.о. на лисп тебя потихоньку поднатаскают здесь, а Visual C - это не тот язык, за который можно браться с твоим "весёлым" (с) подходом к самообучению.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 14.03.2011, 20:21
#11
Pastor

это только кличка
 
Регистрация: 22.10.2006
Москва
Сообщений: 252


Ему поможет Modis (СашаИнженер). Он умеет, не читая книги, клепать формы на C# и получать доступ к объектам AutoCAD. Родственная душа.
__________________
...в шее моей жилы железные, и лоб мой - медный...

Последний раз редактировалось Pastor, 14.03.2011 в 20:26.
Pastor вне форума  
 
Непрочитано 14.03.2011, 20:32
#12
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Pastor Посмотреть сообщение
Ему поможет Modis (СашаИнженер). Он умеет, не читая книги, клепать формы на C# и получать доступ к объектам AutoCAD. Родственная душа.
C# не одно и то же, что Visual C++.
Offtop: п.с. Это будет могучий союз
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Автор темы   Непрочитано 14.03.2011, 20:40
#13
МишаИнженер


 
Регистрация: 14.12.2008
Сообщений: 1,134


Научился добавлять команды в меню! Но почему при выборе новой команды "Ввод данных" появляется диалоговое окно "О программе"? Как при выборе команды "Ввод данных" запустить форму?
P.S. Код программы прилагается
Вложения
Тип файла: zip Новый проект.zip (5.99 Мб, 45 просмотров)
МишаИнженер вне форума  
 
Непрочитано 14.03.2011, 20:54
#14
Pastor

это только кличка
 
Регистрация: 22.10.2006
Москва
Сообщений: 252


Цитата:
C# не одно и то же, что Visual C++
СашаИнженер тоже начинал было с С++, но обломался и быстро переключился на C#.
__________________
...в шее моей жилы железные, и лоб мой - медный...
Pastor вне форума  
 
Непрочитано 14.03.2011, 20:57
#15
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Pastor Посмотреть сообщение
СашаИнженер тоже начинал было с С++, но обломался и быстро переключился на C#.
Должен признать, что на C# у него вполне симпотные софтинки получаются (если не лезть под капот). Энергии у него куча, и с фантазией полный порядок.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 14.03.2011, 21:22
#16
Pastor

это только кличка
 
Регистрация: 22.10.2006
Москва
Сообщений: 252


Энергия плюс фантазия, да над всем этим - благодать божья. Больше ничего и не нужно, пожалуй.
У меня нет ни того, ни другого, ни третьего. Потому и злой. А может потому ничего и нет, что злой. Не знаю.
Так что, парни-инженеры, не принимайте мой скрип близко к сердцу. Если долго мучиться, всё у вас получится.
__________________
...в шее моей жилы железные, и лоб мой - медный...

Последний раз редактировалось Pastor, 14.03.2011 в 22:07.
Pastor вне форума  
 
Непрочитано 15.03.2011, 01:14
#17
Modis


 
Регистрация: 12.06.2010
Липецк, Москва
Сообщений: 534


Ой, что-то щеки у меня покраснели
Ну а так - с С++ я не то, чтобы обломался... Просто на программера я не учился, а С++ достаточно (на мой взгляд) непростой язык - без подготовки писать сложно. Но если писал на Лисп, то на C# не так сложно перейти. Хотя Андрей (Ой, простите - hwd ) и Александр Ривилис легко подтвердят, что и в этом языке я еще ой какой профан. Но (это мое ИМХО) C# ничем не уступает С++! Возможно в последнем больше возможностей, ибо он самый родной для акада, однако в C# можно почти все делать! Причем там есть возможность делать объекты на подобии Custom Objects и при этом не создающие прокси-объекты (которые я лично как-то недолюбливаю). Правда это сложно и я до этого не дошел (и вряд-ли дойду ).
В общем - сорри за оффтоп

Последний раз редактировалось Modis, 15.03.2011 в 01:23.
Modis вне форума  
 
Автор темы   Непрочитано 15.03.2011, 05:07
#18
МишаИнженер


 
Регистрация: 14.12.2008
Сообщений: 1,134


Подскажите хоть строчку пожалуйста, как запустить форму!
МишаИнженер вне форума  
 
Непрочитано 15.03.2011, 05:36
#19
trir


 
Регистрация: 18.12.2010
Сообщений: 5,108


RTFM
http://ru.wikipedia.org/wiki/RTFM_%2...D0%BD%D0%B3%29
trir вне форума  
 
Автор темы   Непрочитано 15.03.2011, 07:14
#20
МишаИнженер


 
Регистрация: 14.12.2008
Сообщений: 1,134


Если подумать логически, то форма является классом определённым в программе. Чтобы запустить эту форму надо создать экземпляр класса и применить один из встроенных методов этого класса чтобы форма отображалась на экране.
Подскажите пожалуйста что это за метод и что за класс надо смотреть в справке?

Нашёл вот что:

Код:
[Выделить все]
Form^ f = gcnew Form();
f->Size->X += 100;
f->Show
Это правильно?

Если форма называется "Приветствие" то код наверное должен выглядеть так:
Код:
[Выделить все]
Form^ f = gcnew Привествие();
f->Size->X += 100;
f->Show

Последний раз редактировалось МишаИнженер, 15.03.2011 в 07:40.
МишаИнженер вне форума  
 
Непрочитано 15.03.2011, 08:11
#21
_Oleg_


 
Регистрация: 28.09.2006
Dnepropetrovsk
Сообщений: 683


МишаИнженер, Думаю вам лучше погуглить готовые исходники программ и покопать их код. Результат будет выше, чем просто выдирать из кода цитаты и спрашивать почему не работает
Или покопать на спецфорумах
http://forum.sources.ru/index.php?showforum=2
http://forum.vingrad.ru/forum/C++C.html
http://www.codeproject.com/
_Oleg_ вне форума  
 
Непрочитано 15.03.2011, 08:42
#22
Лиспер


 
Регистрация: 11.10.2010
Сообщений: 979


Код накидал без проверок на красивость. VS2008.
Форма, может, и является классом, да вот проблема - в #13 чего-то не видел события Load.
P.S. От темы отписываюсь, поскольку разбираться с VC++ вместо того, чтобы читать C#, нет никакого желания.
Вложения
Тип файла: rar Test_vcpp(2011.03.15-08.37).rar (9.2 Кб, 45 просмотров)
__________________
(/= RegDate StartReadDate)
Лиспер вне форума  
 
Автор темы   Непрочитано 15.03.2011, 17:40
#23
МишаИнженер


 
Регистрация: 14.12.2008
Сообщений: 1,134


Лиспер, спасибо за подсказку! Но мне надо чтобы форма запускалась после выбора команды "Ввод данных" в меню "Файл", а не сразу при запуске проекта.
Посмотрел список объектов в своей программе, объекта или класса под названием "Приветствие" не нашёл. Значит такого класса ещё нет. Тогда как мне сообщить программе, что надо запустить форму "класса Привествие"?
МишаИнженер вне форума  
 
Непрочитано 15.03.2011, 17:56
#24
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от МишаИнженер Посмотреть сообщение
Лиспер, спасибо за подсказку! Но мне надо чтобы форма запускалась после выбора команды "Ввод данных" в меню "Файл", а не сразу при запуске проекта.
Посмотрел список объектов в своей программе, объекта или класса под названием "Приветствие" не нашёл. Значит такого класса ещё нет. Тогда как мне сообщить программе, что надо запустить форму "класса Привествие"?
Без обид, но... Вот смотри сколько времени уже прошло, а ты всё мечешься по разным форумам с одним и тем же вопросом, причём вопрос-то уровня детского сада (для тех кто пишет на Visual C++). Напрашивается вывод: а может всё же почитать книжку по теме, чем продолжать пребывать в ожидании? На разбор сего вопроса по книге у тебя ушло бы не более часа, а так ты уже второй день над ним сидишь в ожидании чьего-то ответа...
имхо.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 15.03.2011, 20:07
#25
Лиспер


 
Регистрация: 11.10.2010
Сообщений: 979


Чего-то в этой теме не того... У меня ощущение некоторой сюрреалистичности происходящего. МишаИнженер, переведи для тех, кто на бронепоезде, как понимать прикажешь фразу
Цитата:
Сообщение от МишаИнженер Посмотреть сообщение
надо чтобы форма запускалась после выбора команды "Ввод данных" в меню "Файл"

Как ты эту команду выберешь-та, ась? Откель вызывать собираисси?
__________________
(/= RegDate StartReadDate)
Лиспер вне форума  
 
Непрочитано 15.03.2011, 20:18
#26
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Лиспер Посмотреть сообщение
Чего-то в этой теме не того... У меня ощущение некоторой сюрреалистичности происходящего. МишаИнженер, переведи для тех, кто на бронепоезде, как понимать прикажешь фразу


Как ты эту команду выберешь-та, ась? Откель вызывать собираисси?
Да вроде понятно чего он хочет - в меню "Файл" автокада должен присутствовать пункт меню "Ввод данных". Миша на нём кликает мышкой и открывается его волшебное окошко.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 15.03.2011, 20:26
#27
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Form1->ShowDialog(); Может так? или Form1->Show(); В сях я нуб, но такое не стоит темы на форуме
gomer вне форума  
 
Непрочитано 15.03.2011, 20:41
#28
Лиспер


 
Регистрация: 11.10.2010
Сообщений: 979


Цитата:
Сообщение от hwd Посмотреть сообщение
в меню "Файл" автокада должен присутствовать пункт меню "Ввод данных"
Тю, так неинтересно
__________________
(/= RegDate StartReadDate)
Лиспер вне форума  
 
Автор темы   Непрочитано 16.03.2011, 05:03
#29
МишаИнженер


 
Регистрация: 14.12.2008
Сообщений: 1,134


В моей программе (код которой прикреплён к сообщениям, ищите наиболее позднюю версию) при запуске программы появляется окно которое не запрограммировано как форма, а оно просто само появляется, потому что программа такая. И в этом окне есть меню "Файл" в котором есть команда "Ввод данных" эту команду я сам туда прописал в это меню при помощи редактирования файла с расширением .rc (по моему). Этот файл из дерева объектов простым двоёным нажатием нельзя открыть так как при этом появлятся сообщение что этот файл занят другим редактором. Мне удалось открыть это файл только с помощью инструмента поиск данных. При поиске какой-то переменной открылся этот файл и в нём прописаны строки меню начального окна которое появляется при запуске программы. В это меню я добавил новую строку "Ввод данных" и присовил этому меню код ID_INPUT, которую предварительно объявил и определил.
Далее теперь надо чтобы после запуска программы при выборе команды "Ввод данных" в меню "Файл" запускалось диалоговое окно "Приветствие", но вместо этого запускается диалоговое окно "О программе" и заставить запускаться диалоговое окно "Приветствие" у меня никак не получается.
Я прошу помочь мне но многие или не знают как это делается или просто им лень разобраться в коде и посоветавать несколько строчек. Дело наверное в общем простое, но пока нигде в литературе я не нашёл как запускать формы с помощью выбора команды в меню или с помощью нажатия кнопки.
МишаИнженер вне форума  
 
Непрочитано 16.03.2011, 08:11
#30
Лиспер


 
Регистрация: 11.10.2010
Сообщений: 979


Да нет, это не программа такая... Это объяснения такие. МишаИнженер, ты хотя б на VBA чего-нибудь напиши сначала. Глядишь, и хоть понимание того, "что такое событие" придет... И фраз типа "само появляется" уже не будет.
__________________
(/= RegDate StartReadDate)
Лиспер вне форума  
 
Непрочитано 16.03.2011, 08:17
#31
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Лиспер Посмотреть сообщение
Да нет, это не программа такая... Это объяснения такие. МишаИнженер, ты хотя б на VBA чего-нибудь напиши сначала. Глядишь, и хоть понимание того, "что такое событие" придет... И фраз типа "само появляется" уже не будет.
На это Миша уже отвечал:
Цитата:
Сообщение от МишаИнженер Посмотреть сообщение
Книги читать очень дорого, долго и трудно, простите. Гораздо веселее постигать азы программирования в процесе общения!
Не мешайте парню веселиться
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Автор темы   Непрочитано 16.03.2011, 09:02
#32
МишаИнженер


 
Регистрация: 14.12.2008
Сообщений: 1,134


Да понимаю я что окно при запуске программы прописывается в коде:
Код:
[Выделить все]
//
//   ФУНКЦИЯ: InitInstance(HINSTANCE, int)
//
//   НАЗНАЧЕНИЕ: сохраняет обработку экземпляра и создает главное окно.
//
//   КОММЕНТАРИИ:
//
//        В данной функции дескриптор экземпляра сохраняется в глобальной переменной, а также
//        создается и выводится на экран главное окно программы.
//
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
   HWND hWnd;

   hInst = hInstance; // Сохранить дескриптор экземпляра в глобальной переменной

   hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
      CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);

   if (!hWnd)
   {
      return FALSE;
   }

   ShowWindow(hWnd, nCmdShow);
   UpdateWindow(hWnd);

   return TRUE;
}
А обработка сообщений меню в коде:
Код:
[Выделить все]
//
//  ФУНКЦИЯ: WndProc(HWND, UINT, WPARAM, LPARAM)
//
//  НАЗНАЧЕНИЕ:  обрабатывает сообщения в главном окне.
//
//  WM_COMMAND	- обработка меню приложения
//  WM_PAINT	-Закрасить главное окно
//  WM_DESTROY	 - ввести сообщение о выходе и вернуться.
//
//
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
	int wmId, wmEvent;
	PAINTSTRUCT ps;
	HDC hdc;

	switch (message)
	{
	case WM_COMMAND:
		wmId    = LOWORD(wParam);
		wmEvent = HIWORD(wParam);
		// Разобрать выбор в меню:
		switch (wmId)
		{
		case IDM_INPUT:
//Сюда надо вставить код запуска формы

		case IDM_about:
			DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
			break;
		case IDM_EXIT:
			DestroyWindow(hWnd);
			break;
		default:
			return DefWindowProc(hWnd, message, wParam, lParam);
		}
		break;
	case WM_PAINT:
		hdc = BeginPaint(hWnd, &ps);
		// TODO: добавьте любой код отрисовки...
		EndPaint(hWnd, &ps);
		break;
	case WM_DESTROY:
		PostQuitMessage(0);
		break;
	default:
		return DefWindowProc(hWnd, message, wParam, lParam);
	}
	return 0;
}
Обратите внимание в этом коде есть строки:
Код:
[Выделить все]
case IDM_INPUT:
//Сюда надо вставить код запуска формы
Вот после этой строки надо вставить код запуска формы "Приветсвие"
Подскажите пожалуйста как это сделать!
Данный код находится в файле "Новый проект.cpp"
МишаИнженер вне форума  
 
Непрочитано 16.03.2011, 18:55
#33
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Это уже даже не смешно...
gomer вне форума  
 
Автор темы   Непрочитано 16.03.2011, 19:13
#34
МишаИнженер


 
Регистрация: 14.12.2008
Сообщений: 1,134


Не смешно то что никто не может помочь запустить форму? Мне то же от этого совсем не смешно
МишаИнженер вне форума  
 
Непрочитано 16.03.2011, 19:34
#35
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от МишаИнженер Посмотреть сообщение
Не смешно то что никто не может помочь запустить форму? Мне то же от этого совсем не смешно
Код:
[Выделить все]
case IDM_about:
			DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
			break;
И начать думать!
gomer вне форума  
 
Автор темы   Непрочитано 16.03.2011, 19:59
#36
МишаИнженер


 
Регистрация: 14.12.2008
Сообщений: 1,134


Так я уже делал, даже попробовал сделать вот так:
Код:
[Выделить все]
		case IDM_INPUT:
			hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
			  CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);
			ShowWindow(hWnd, nCmdShow);
			UpdateWindow(hWnd);
			break;
Но некоторые переменные оказываются неописанными и второй экземпляр приложения не запускается.
А вот как запустить форму "Приветствие"?
МишаИнженер вне форума  
 
Непрочитано 16.03.2011, 20:43
#37
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от МишаИнженер Посмотреть сообщение
Но некоторые переменные оказываются неописанными и второй экземпляр приложения не запускается.
А вот как запустить форму "Приветствие"?

Код:
[Выделить все]
case IDM_INPUT:
			DialogBox(hInst, MAKEINTRESOURCE(IDD_INPUTDATABOX), hWnd, INPUTDATA);
			break;
Прописать форму в файл ресурсов, переименовать соответственно, читать книги по WinAPI
gomer вне форума  
 
Непрочитано 17.03.2011, 01:48
#38
nikе

конструктор Лего
 
Регистрация: 21.10.2005
Краснодар
Сообщений: 204


МишаИнженер. Тебе действительно стоит начать с азов. Лучшая книга по С++ - Н.Н.Мартынова - двухтомник. Хороший ресурс - codeproject.com. Хотя интерфейс и прочие стандартные части программы на C# писать в десять раз легче, чем на плюсах. На плюсах в настоящее время лучше делать то, чего невозможно или трудно на С#. Например использовать готовый решатель на плюсах, а взамодействие с пользователем на шарпее.
nikе вне форума  
 
Автор темы   Непрочитано 17.03.2011, 05:29
#39
МишаИнженер


 
Регистрация: 14.12.2008
Сообщений: 1,134


nikе, скажи пожалуйста а вот "шарпей" это что такое? В интернете нашёл что это порода собак.
И ещё вопрос: если далее мне требуется получить доступ к объектам AutoCAD то на каком языке из семейста C лучше писать программу?
МишаИнженер вне форума  
 
Непрочитано 17.03.2011, 07:57
#40
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от МишаИнженер Посмотреть сообщение
nikе, скажи пожалуйста а вот "шарпей" это что такое? В интернете нашёл что это порода собак.
И ещё вопрос: если далее мне требуется получить доступ к объектам AutoCAD то на каком языке из семейста C лучше писать программу?
"Шарпей" - это C#, который по сути является самым новым и удобным в использовании из "семейства С", при этом не уступая по функционалу своим предкам (шарпей вобрал в себя всё лучшее из С++ и Java, а так же лишён их недостатоков - так пишут в букваре). Однако не думаю, что практикуемый тобою подход "изучения" (аля задам-ка я вопрос на форуме, вместо того, чтобы открыть букварь) будет иметь успех на шарпее.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Автор темы   Непрочитано 17.03.2011, 08:12
#41
МишаИнженер


 
Регистрация: 14.12.2008
Сообщений: 1,134


Согласитесь что вопрос простой: как запустить форму? Я же вас не спрашиваю как лучше хранить данные в программе: в массивах или базе данных, как настраивать кнопки и т.д.. Например в Visual Basice на мой вопрос можно ответить одной строчкой: UserForm.show и т кто знает это без труда отвечают на такие вопросы. А в Visual C этот простой вопрос вызывает очень много посторонних вопросов и советов которые в общем то являются стандартными в такой ситуации. А ответа на вопрос пока не видно.
МишаИнженер вне форума  
 
Непрочитано 17.03.2011, 08:17
#42
Лиспер


 
Регистрация: 11.10.2010
Сообщений: 979


Лично я не соглашусь. Потому что форму запустить невозможно, насколько я понимаю терминологию программирования. Форму можно показать, можно скрыть, можно загрузить или выгрузить, но запустить можно только программу (точнее, процесс).
Цитата:
Сообщение от МишаИнженер Посмотреть сообщение
в Visual Basice на мой вопрос можно ответить одной строчкой: UserForm.show
Так и пиши на VB, кто мешает-то?
__________________
(/= RegDate StartReadDate)
Лиспер вне форума  
 
Непрочитано 17.03.2011, 08:30
#43
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от МишаИнженер Посмотреть сообщение
Согласитесь что вопрос простой: как запустить форму?
Соглашусь. Тем более отвечать на него не стоит, дабы не поощрять лентяев, ибо в противном случае весь форум превратится в сплошные топики типа "Как на форму добавить кнопку", "Как на кнопку добавить надпись" и т.п.
Цитата:
Сообщение от МишаИнженер Посмотреть сообщение
Я же вас не спрашиваю как лучше хранить данные в программе: в массивах или базе данных, как настраивать кнопки и т.д..
Эти вопросы у вас будут следующими, после того, когда вы наконец дождётесь ответа на текущий вопрос, который вы уже мусолите не один день.
Цитата:
Сообщение от МишаИнженер Посмотреть сообщение
в Visual Basice на мой вопрос можно ответить одной строчкой: UserForm.show и т кто знает это без труда отвечают на такие вопросы.
Если человек знает - не факт, что он ответит, ибо вопросы бывают разного уровня. На ваш вопрос отвечать принципиально противопоказано (имхо) - выше я обозначил почему.
Цитата:
Сообщение от МишаИнженер Посмотреть сообщение
А в Visual C этот простой вопрос вызывает очень много посторонних вопросов и советов которые в общем то являются стандартными в такой ситуации. А ответа на вопрос пока не видно.
Из тех, кто пишет на Visual C, с данного форума я знаю только Александра Ривилиса. Он не отвечает - и правильно делает. Если бы такой вопрос был задан на C# (шарпее), я бы так же не стал отвечать. Повторюсь, как уже писал выше - меняйте выбор языка (тем более, что уровень его познания у вас не отличается от любого другого языка) на лисп - вот тогда проблем у вас здесь не будет. Вам даже учить его не придётся - это же как раз тот подход, который вы избрали... "Ваш метод", так сказать...
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 17.03.2011, 19:15
#44
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от hwd Посмотреть сообщение
меняйте выбор языка (тем более, что уровень его познания у вас не отличается от любого другого языка) на лисп - вот тогда проблем у вас здесь не будет. Вам даже учить его не придётся
категорически не согласен... учить придется, еще как!
gomer вне форума  
 
Непрочитано 17.03.2011, 19:28
#45
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от gomer Посмотреть сообщение
категорически не согласен... учить придется, еще как!
Не придётся - за него тут всё напишут, да к тому же и не в одном варианте - проверено временем
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 18.03.2011, 08:25
#46
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Цитата:
Сообщение от hwd Посмотреть сообщение
за него тут всё напишут
Offtop:
- вы что это, и конфеты за меня есть будете?
-
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)

Последний раз редактировалось Do$, 18.03.2011 в 08:41.
Do$ вне форума  
 
Автор темы   Непрочитано 18.03.2011, 08:46
#47
МишаИнженер


 
Регистрация: 14.12.2008
Сообщений: 1,134


На лиспе есть оболочка чтобы можно было проектировать формы как в Visual Basice?
С мне нужен для того чтобы можно было проектировать формы и был доступ к объектам AutoCAD
МишаИнженер вне форума  
 
Непрочитано 18.03.2011, 09:00
#48
Лиспер


 
Регистрация: 11.10.2010
Сообщений: 979


Копай в сторонй dcl. Либо OpenDCL (кажется, так было). Либо в сторону СОМ-модели. Лбо в сторону .NET.
Короче, путей как у собаки блох.
__________________
(/= RegDate StartReadDate)
Лиспер вне форума  
 
Непрочитано 18.03.2011, 12:34
#49
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Цитата:
Сообщение от МишаИнженер Посмотреть сообщение
На лиспе есть оболочка чтобы можно было проектировать формы как в Visual Basice?
С мне нужен для того чтобы можно было проектировать формы и был доступ к объектам AutoCAD
В лиспе есть только "ублюдочный" DCL (как его называет ShaggyDoc ). Да, его возможности сильно ограничены и составлять сложные диалоги на нем - то еще удовольствие. НО! У него (исключительно на мой взгляд) есть огромные плюсы:
  • среда его разработки ВСТРОЕНА в автокад
  • достаточно прост в освоении
  • не нужно ломать голову по поводу работоспособности диалога в других версиях - работать будет (разумеется, имеются в виду современные версии)
Была мысль вот так же освоить дополнительно .NET язык для написания форм, которые в дальнейшем можно будет использовать в лиспе (в какой-то теме это советовал, если я не ошибаюсь, Дима_). Но, по словам участников форума (точно не помню кого - врать не буду), чтобы более менее сносно научиться это делать - нужен минимум(!) год плотного(!) изучения - для меня это роскошь. Поэтому для себя я сделал вывод: для моих целей вполне достаточно DCL, нужно будет бОльшее - буду искать тех, кто сможет написать нужную форму (не за "спасибо", конечно же). В конце-концов, моя профессия не "программист", а "инженер-проектировщик"! Пусть каждый занимается своим делом
Так что, подумайте еще раз - оно вам надо? Что вам нужно такое, чего не сделать в DCL?
P.S. К тому же, как правильно заметил hwd, с DCL+LISP вам с удовольствием помогут на этом форуме и советом и примерами.
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)

Последний раз редактировалось Do$, 18.03.2011 в 12:43.
Do$ вне форума  
 
Непрочитано 18.03.2011, 12:58
1 | #50
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,413
Отправить сообщение для Александр Ривилис с помощью Skype™


Почитайте: http://www.caduser.ru/forum/index.ph...D=24&TID=33271 и http://www.caduser.ru/forum/index.ph...D=24&TID=20099 От начала до конца.
В первую очередь это будет полезно МишаИнженер
По этой теме писать ничего не буду - я не в состоянии заменить собой книги, MSDN, Google и т.д.

Последний раз редактировалось Александр Ривилис, 18.03.2011 в 13:05.
Александр Ривилис вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Почему не запускается форма на Visual C?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему двутавр 90Б1 высота 893мм ? dextron3 Разное 33 11.03.2009 23:31
почему не применяют трубы kiraa Конструкции зданий и сооружений 17 10.09.2008 19:24
Юмор 2007 Огурец Разное 1172 29.12.2007 11:16
Кто знает почему? Sleekka Программирование 4 26.05.2007 22:37
Почему балконные двери открываются во внутрь? Liliya Разное 45 27.11.2006 12:48