С Новым годом! Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335

Диалоговое окно и диспетчер задач

24.08.2012, 16:50. Показов 2132. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
При создании диалогового окна командами MessageBox/DialogBox/CreateDialog - окна отображаются, но не видны ни в диспетчере задач, ни на панеле (K.O. та, что слева от "пуск"). Есть ли возможность отображать диалоги, как "настоящие" приложения?
Зачем мне это нужно : по причине невозможности рисования в главном окне, я его убил спрятал (ShowWindow(hWnd, FALSE); ), создал CreateDialog-окно и уже с ним и работаю. Очень печально, когда переключиться на них нельзя из панели :<

p.s И вопрос-бонус. Есть ли возможность добавить в Edit Control строку, не применяя способа GetDlgItemText, а потом strcat(oldText, "\n New Words!") и затем SetDlgItemText?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.08.2012, 16:50
Ответы с готовыми решениями:

Не модальное диалоговое окно. Не видно значка на панеле задач
Создал не модальное окно по аналогии с модальными, в классе не модального окна почти все тоже самое что и в классе модального, но когда я...

Подскажите, как скрыть окно приложения из Диспетчер задач -> Приложения?
Чтобы его скрыть из панели задач делаю так HWND wnd = Form2-&gt;Handle; ShowWindow(wnd, SW_HIDE); SetWindowLong(wnd, GWL_EXSTYLE,...

Диспетчер задач
http://cs425917.vk.me/v425917401/34ad/MltH1vF9JRw.jpg

9
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33371 / 21497 / 8234
Регистрация: 22.10.2011
Сообщений: 36,893
Записей в блоге: 12
24.08.2012, 17:16
Насчет бонуса - сразу говорю: есть способ, посылаешь полю EM_SETSEL (выбираешь конец текста), а потом - EM_REPLACESEL с добавляемым текстом.

Насчет основного вопроса - что передаешь первым параметром в MessageBox/...?
1
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
24.08.2012, 17:50  [ТС]
UI, чаще всего hDlg - глобальный HWND к главному диалоговому окну. Иногда передаю и HWND hDlgConnect окна, которая является DialogBox для главного (того, что hDlg). hDlg - главное окно, hDlgConnect - DialogBox с параметрами коннекта (IP/Port/Nickname).

Добавлено через 24 минуты
Если я правильно понял, то EM_SETSEL выделяет текст. А EM_REPLACESEL - заменяет выделенный текст на новый. Проблема в том, что EM_SETSEL не может встать в конец текста (если мы не передадим ей точную длину текста). При этом, даже если и передадим, то нужен "мусорный" символ, чтобы выделить его и заменить на новый текст.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33371 / 21497 / 8234
Регистрация: 22.10.2011
Сообщений: 36,893
Записей в блоге: 12
24.08.2012, 18:08
Правда?
C++
1
2
3
4
wchar_t *txt = L"\r\nЧто я опять не так делаю?";
int len = GetWindowTextLength(hWndEdit);
SendMessage(hWndEdit, EM_SETSEL, len, len);
SendMessage(hWndEdit, EM_REPLACESEL, FALSE, (LPARAM)txt);
2
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
25.08.2012, 13:34  [ТС]
UI, что-то я совсем "ниочинь" :<
Вопрос о Dialog и панели открыт

Добавлено через 12 часов 46 минут
up-to-date

Добавлено через 6 часов 36 минут
сабж ; (
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33371 / 21497 / 8234
Регистрация: 22.10.2011
Сообщений: 36,893
Записей в блоге: 12
25.08.2012, 16:01
Чего "сабж", я ж тебе дал подсказку: пока ты будешь Owner-ом указывать невидимое окно - его дочерние окна не будут отображаться в таскбаре.

В твоем первом посте вообще очень много непонятного.
по причине невозможности рисования в главном окне, я его убил спрятал (ShowWindow(hWnd, FALSE); ), создал CreateDialog-окно и уже с ним и работаю
Почем в главном окне невозможно рисовать?

А создать Dialog-based приложение, в котором без посредников создать DialogBox, и с ним работать - уже нельзя? Или это слишком просто?
1
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
25.08.2012, 16:07  [ТС]
UI, Dialog-based? MFC? Я в обычно проекте. Или и так есть такая вещь? О_о
Получается, что если я буду прятать главное окно, то и не смогу сделать их видимыми? ; (
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33371 / 21497 / 8234
Регистрация: 22.10.2011
Сообщений: 36,893
Записей в блоге: 12
25.08.2012, 16:19
Получается, что если я буду прятать главное окно, то и не смогу сделать их видимыми? ; (
Передать NULL в качестве первого параметра MessageBox не пробовал?

Цитата Сообщение от nexen Посмотреть сообщение
Dialog-based? MFC?
Я ничего про MFC (равно как и про MSVC) не знаю (да и не стал бы говорить о ней в разделе WinAPI, даже если б и пользовался), и знать не хочу. Эта возможность есть даже в Code::Blocks :
Миниатюры
Диалоговое окно и диспетчер задач  
1
187 / 180 / 25
Регистрация: 27.01.2012
Сообщений: 1,335
25.08.2012, 19:03  [ТС]
UI, не пользовался Code::Blocks никогда. Только MSVS.
А про NULL - конечно пробовал, да, оно показывается в панеле, но оно не делает свою основную задачу, как Box, - не блокирует hDlg, что мне и нужно.

Добавлено через 1 час 7 минут
Возможно ли отслеживать EditBox в "режиме реального времени"? Что я под этим подразумеваю : ввел пользователь 1 символ - сработало некоторое действие.
Для чего это нужно : изменять в static box'е сообщение о кол-ве оставшихся символов для ввода.

Добавлено через 57 минут
Точно такой же вопрос и про кнопки (вопрос в проверке "наведен ли курсор на кнопку").
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33371 / 21497 / 8234
Регистрация: 22.10.2011
Сообщений: 36,893
Записей в блоге: 12
25.08.2012, 20:03
Цитата Сообщение от nexen Посмотреть сообщение
Что я под этим подразумеваю : ввел пользователь 1 символ - сработало некоторое действие.
Когда меняется содержимое EDIT-а, его родителю отсылается уведомление EN_CHANGE (ловить через WM_COMMAND)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.08.2012, 20:03
Помогаю со студенческими работами здесь

Диспетчер задач
Здравсвуйте, помогите пожалуйста исправить ошибку в коде,написанном на С++ и реализующем диспетчер задач, аналогичный диспетчеру задач...

Диспетчер задач через dll
#include &lt;windows.h&gt; #include &lt;tlhelp32.h&gt; #include &lt;iostream&gt; # include&lt;conio.h&gt; void GetServiceList(char *guf,FILE*&amp;tp); ...

Диалоговое окно
Помогите создать дочернее окно. Необходимо, что бы по нажатию на кнопку в родительском окне создавалось дочернее окно, и чтобы я мог...

диалоговое окно
госпада открываю деалоговое окно вот так - memset(&amp;OpenFileName, 0, sizeof(OPENFILENAME)); OpenFileName.lStructSize =...

Диалоговое окно
Здравствуйте. Помогите с решить данную задачу: на рисунке представлено то как должно выглядеть диалоговое окно. Я не знаю как связать с...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru