Форум: "WinAPI";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];
ВнизПроблема с окнами Найти похожие ветки
← →
Misha aka Programmer (2005-05-03 18:39) [0]Я занимаюсь программирование текстового редактора типа Microsoft Word. В данном приложении есть функция работы с несколькими окнами (каждый новый документ открывается в новом окне программы). Как это можно реализовать (без MDI)? Думал сделать через ShellExecute(Handle, "open", ‘word.exe", nil, nil, SW_SHOWNORMAL) и столкнулся с двумя проблемами:
1. У меня перед запуском программы идет заставка, которую не следует запускать после запуска первой версии программы.
2. Как обратиться к запущенным программам, например при создании поменять заголовок (типа Программа 1, Программа 2 и т.д.) или из одной запушенной программы обратиться к другой (например, упорядочить их.
Читал в своих книжках - ничего не нашёл (надо срочно выбросить) да и в help вроде нет!!! Может подскажите?
← →
Cobalt © (2005-05-03 19:25) [1]Попробуй вынести общий код в COM-сервер, и он уже будет тебе сообщать, есть уже запущенные, или нет, вести учёт количества окон и их заголовков и т.п.
← →
GLFox © (2005-05-03 19:34) [2]Можно создавать/проверять mutex при запуске.
Если он есть, то делаем FindWindow, например.
А потом соответсвенно SendMessage...
← →
_1 (2005-05-03 19:38) [3]Я бы делал без запуска несколький копий, также как и в MDI - для одного документа - одно окно в пределах одного процесса (только не MDI).
Чтобы для формы появилась кнопка на панели задач - в CreateParams написать: Params.ExStyle:= Params.ExStyle or WS_EX_APPWINDOW.
Как недопустить повторного запуска, и передать в запущеное приложение имя файла (параметр с которым запустили программу) - в соседней ветке: http://delphimaster.net/view/1-1115128954/
Менять заголовки окон - Form.Caption.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.045 c