Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.98/43: Рейтинг темы: голосов - 43, средняя оценка - 4.98
0 / 0 / 0
Регистрация: 28.07.2012
Сообщений: 30

Кнопка в MFC

28.02.2013, 00:47. Показов 8331. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Подскажите, как вставить в однодокументном приложении в главное окно кнопку??? Приложение на MFC. Приведите наглядный пример, пожалуйста
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.02.2013, 00:47
Ответы с готовыми решениями:

Кнопка свертывания + кнопка справки (MFC)
Обшарил огромные просторы инета, так и не нашел VS MFC Диалоговое окно, как добавить одновременно и кнопки min\max справа вверху для...

Неактивная кнопка в MFC
Скажите пожалуйста как сделать кнопку неактивной в MFC. В .NET проще : button->Enabled=false; Подскажите как в MFC? Спасибо

mfc убегающая кнопка
помогите пожалуйста! с c++ еще не особо дружу, ну не успел еще,(( а нужно сделать чтоб при наведении курсором на кнопку она убегала! открыл...

27
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
28.02.2013, 15:50
Кнопку вставлять в SDI крайне сложно, почему нельзя использовать Dialog based концепт который заточен под интерфейс пользователя. В Документ/Виде ещё надо представить рассчитать где же будет сидеть контрол, что по сути ненужный головняк, в то время как Dialog based позволяет в режиме контструктора сразу увидеть окно каким оно есть.
По этой ссылке уйма моих примеров различных MFC приложений
https://www.cyberforum.ru/blogs/34326/blog317.html
Для первого приближения зайди сюда MFC как сделать, или нажать кнопку
1
Модератор
Эксперт по электронике
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,856
28.02.2013, 17:37
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Кнопку вставлять в SDI крайне сложно,
а че сложного то
C++
1
2
CButton but;
but.Create(
а вот работа с ней занятие не для слабонервных
Цитата Сообщение от ProGramm93 Посмотреть сообщение
Подскажите, как вставить в однодокументном приложении в главное окно кнопку
тебе точно нужен "документ-вид"
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
28.02.2013, 17:58

Не по теме:

Цитата Сообщение от ValeryS Посмотреть сообщение
а вот работа с ней занятие не для слабонервных
я собственно к этому и подводил автора, нарисовать (подразумеваю создать) можно и CustumControl заточенный под отображение какого нибудь экзотического содержимого, другое дело месаги увязка, да здохнуть в этом деле можно. Тут в Dialog based порой голову ломаешь, а почему так а не по другому а тут тебе документ вид. ДокВид для профи и не для слабонервных, лезть в него не зная даже о кнопке на мой взгялд безумство граничащее с садомазохизмом...



Добавлено через 1 минуту

Не по теме:

У меня вообще складывается впечатление что люди клацают создать MFC и щёлкают финиш, вместо поменть дефалтный SDI на Dialog based изобретая тем самым себе проблем на свою 5-ую:)

0
0 / 0 / 0
Регистрация: 28.07.2012
Сообщений: 30
28.02.2013, 19:19  [ТС]
Да необязательно документ-вид, но мне не нужны лишние две кнопки в диалоговом окне. Там же обязательны ок и выход. А мне нужны свои. Могу ошибаться, но помоему их даже убрать нельзя

Добавлено через 2 минуты
Да, и кнопку я создаю, но не могу ее отобразить на главном окне. Уже больше недели над этим голову ломаю, много книг пересмотрел, нигде не объясняется
0
Модератор
Эксперт по электронике
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,856
28.02.2013, 19:20
Цитата Сообщение от ProGramm93 Посмотреть сообщение
Могу ошибаться, но помоему их даже убрать нельзя
в редакторе ресурсов выделяешь и нажимаешь delete

Цитата Сообщение от ProGramm93 Посмотреть сообщение
а необязательно документ-вид
Ты задачу то объясни, можа че и придумаем
0
0 / 0 / 0
Регистрация: 28.07.2012
Сообщений: 30
28.02.2013, 20:52  [ТС]
ок. Смысл таков. Кто играет в покер, тот поймет. У меня есть мною написанная консольная программа, которая раздает карты и выводит их на экран. Короче игра один на один. Хочу теперь организовать это в интерфейсе. Как лучшу посоветуйте тогда. Через SDI или все же диалоговое?
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
28.02.2013, 21:45
ProGramm93, прочти в моем блоге запись Этапы создания mfc приложения,там прям скринами все от а до я.А добавляют контролы банальным перётаскиванием в рабочую область.

Добавлено через 48 минут
Цитата Сообщение от ProGramm93 Посмотреть сообщение
Через SDI или все же диалоговое?
- через СДИ покажется проще отрисовывать, но это лишь кажется. Советую DialogBased - там можно рисовать в котексте любого контрола, видеть в конструкторе каким выходит окно да и вообще в Dialog based всё в 1000-чу раз ясней чем в SDI, хотя таже косынка писана по всей видимости с типом проекта SDI. Тут конечно дело вкуса, мне конечно же по душе Dialog based я там могу если не всё то уж очень многое и другим его рекомендую
1
Модератор
Эксперт по электронике
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,856
28.02.2013, 22:22
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
в SDI, хотя таже косынка писана по всей видимости с типом проекта SDI.
специально не смотрел но думаю вряд ли
скорее всего оконное без поддержки Документ-Вид
что там документу делать?
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
28.02.2013, 22:37
ValeryS, на доке вобщем то наверное было бы проще её написать, хотя отсутсвие такого привичного мелкософтовского статусбара внизу более говорит в пользу DialogBased. В любом случае сделать можно как в доке так и в диалоге. Для новичка конечно же диалог, тут думаю без вариантов
0
0 / 0 / 0
Регистрация: 28.07.2012
Сообщений: 30
01.03.2013, 00:11  [ТС]
Ок. Понял. Буду пробовать в диалоге. Спасибо большое!

Добавлено через 1 минуту
Ок. Понял. Буду в диалоге пробовать. Спасибо большое!

Добавлено через 17 минут
Амм, тогда еще маленький вопрос по диалогу. Можно ли в нем создать дочернее окно? Я еще в нем не разбирался, но интересно.
0
Модератор
Эксперт по электронике
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,856
01.03.2013, 00:22
Цитата Сообщение от ProGramm93 Посмотреть сообщение
Можно ли в нем создать дочернее окно? Я еще в нем не разбирался, но интересно.
элементарно
самое простое
создаешь наследника от CStatic(там переписываешь что нужно)
потом в редакторе диалога вставляешь статик меняешь у него ID(потому что по умолчанию идет ID_STATIC=-1)
потом правой кнопкой мыши на статике и в окне создать переменную говоришь не CStatic а свой класс
1
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
01.03.2013, 01:07
Цитата Сообщение от ProGramm93 Посмотреть сообщение
Амм, тогда еще маленький вопрос по диалогу. Можно ли в нем создать дочернее окно? Я еще в нем не разбирался, но интересно.
- в другой моей теме из блога MFC поделки есть и модальное и немодальное окно с обменой инфой с главным, покопайся (Немодальное коно прям так и подписано, модальное есть в Рисовании та и ещё куче проектов, покопай вобщем). А вообще скажи что именно хочешь там в главном окне сотворить, чайлд понятие растяжимое. А так конечно же можно сделать "дитё" в диалоге.
1
0 / 0 / 0
Регистрация: 01.10.2012
Сообщений: 7
01.03.2013, 02:53
Здравствуйте, дабы не плодить темы, вопрос тот же, как в SDI сделать кнопку)) Само создание дело 2-х строк, но после дебага про малейшем изменении размеров клиентской области выдает ошибку(
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
01.03.2013, 10:52
Kenny5275, введи обработку WM_PAINT и учти что в области присутсвует кнопка, введи обработку WM_COMMAND, чтобы иметь возможность обрабоать клики по кнопке. Ещё раз отмечу что каких либо предпосылок для создания кнопок в SDI не вижу, кроме как великого желания создать себе лишних проблем на свою 5-ую. Всё на УРА заменяется Dialog based, если у вас не заменяется, подумайте, если и после этого не заменяется, то думайте ещё раз...
0
0 / 0 / 0
Регистрация: 01.10.2012
Сообщений: 7
01.03.2013, 15:09
-=ЮрА=-, посидел, подумал и решил переписать под WIN32 Aplication. Появился другой вопрос при создании полос прокрутки как привязать к окну? Возможно ли это совершить при помощи SetScrollRange?
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
01.03.2013, 15:21
Kenny5275 - привязать Get(Set) методы и поля SCROLLINFO, напиши что ты делаешь?

Не по теме:

Цитата Сообщение от Kenny5275 Посмотреть сообщение
WIN32 Aplication.
- Уж лучше тогда на доквиде делал, ты ещё себе гемора впаял переходом на АПИ проект ИМХО.

0
0 / 0 / 0
Регистрация: 01.10.2012
Сообщений: 7
01.03.2013, 15:33
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
CMainWnd::CMainWnd()
{
 blMenu=FALSE;      // инициализация TRUE соответствует IDR_MENU
    CRect r;            // Отвечает за размер и позицию окна
    r.top = r.left =100;    // Расположение окна на экране (сверху и слева)
    r.bottom = 400;
    r.right = 750;  // Размеры окна
    Create(NULL, "Скелет окна", WS_OVERLAPPEDWINDOW|WS_VSCROLL|WS_HSCROLL, r);// Создать окно программы
 
 // оператор new по умолчанию в случае ошибки вернет NULL
 // проверка указателя на NULL дает возможность избавиться от дальнейших ошибок
 //MyStatic = new CStatic();                
 //if (MyStatic!=NULL)  MyStatic->Create("MyStatic",WS_CHILD|WS_VISIBLE|SS_CENTER,
 //  CRect(10,95,100,135),this);            // создали 
 MyButton = new CMyButton();       // Меняем класс на основе которого создается объект
 if (MyButton!=NULL) MyButton->Create("MyButton",WS_CHILD|WS_VISIBLE|SS_CENTER,
      CRect(800,850,900,900),this,IDC_MYBUTTON); 
 MyEdit = new CEdit();
 if (MyEdit!=NULL) MyEdit->Create(WS_CHILD|WS_VISIBLE|WS_BORDER,
     CRect(999,95,1100,115),this,IDC_MYEDIT);
}
вот часть кода где создается окно) Полосы прокрутки видимы, но не работающие
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
01.03.2013, 16:07
Kenny5275, не ты не понял мой вопрос - ты хочешь многострочный Эдит со скролами?

Добавлено через 3 минуты
Вот ссылка на мультистринг эдит в диалоге, буквально намедни делал
Перевод на новую строку в MFC

Добавлено через 35 секунд


Добавлено через 1 минуту

Не по теме:

Kenny5275, толково объясни - я хочу то то с тем то, зачем мне создание окошка, кнопки и эдита, что мне они должны были сказать?

1
0 / 0 / 0
Регистрация: 01.10.2012
Сообщений: 7
01.03.2013, 16:13
Есть таблица с данными 1100х1200. Пользователь вводит доп. данные в эту таблицу и жмет на кнопку, после чего происходят какие-то вычисления. Таблица, эдиты(там 6-ти знач число), кнопки есть, а вот прокрутить это все не могу(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.03.2013, 16:13
Помогаю со студенческими работами здесь

Динамическая кнопка (MFC)
Задача такая: dialog based -> создать кнопку, при нажатии на которую левой кнопкой мыши кнопка перемещается в заданное место окна, а при...

Кнопка диалога в Ribbon (MFC)
Здравствуйте! Я использую Visual Studio 2010 Professional. Знакомлюсь с разработкой программ с Ribbon на MFC. Всё уже пролазил и не могу...

Как сдалать, чтобы кнопка справа при растягивание окна в MFC?
Как в MFC сделать, чтобы положение кнопки зависило от размера окна? Например всегда справа от правого окна на 50px.Заранее спасибо.И...

Как сделать чтобы кнопка в диалоговом окне не подсвечивалась до того, как на нее наведешь мышкой? (MFC)
Как сделать чтобы кнопка в диалоговом окне не подсвечивалась mfc до того, как на нее наведешь мышкой?

подключение классов MFC к не MFC
Как подключить MFC Class From ActiveX Control к не MFC проекту? т.е. пишу обычными винапи функциями, а из этого класса нужны функции...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru