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

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

24.08.2012, 16:50. Показов 2168. Ответов 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
33402 / 21512 / 8236
Регистрация: 22.10.2011
Сообщений: 36,912
Записей в блоге: 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
33402 / 21512 / 8236
Регистрация: 22.10.2011
Сообщений: 36,912
Записей в блоге: 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
33402 / 21512 / 8236
Регистрация: 22.10.2011
Сообщений: 36,912
Записей в блоге: 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
33402 / 21512 / 8236
Регистрация: 22.10.2011
Сообщений: 36,912
Записей в блоге: 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
33402 / 21512 / 8236
Регистрация: 22.10.2011
Сообщений: 36,912
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru