Вниз
Скачать: CL | DM;

Проблема с окнами   Найти похожие ветки 

← →
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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.049 c
14-1117653659
Aldor
2005-06-01 23:20
2005.06.29
Фотографии со спутника


3-1115892556
Lexer
2005-05-12 14:09
2005.06.29
Агрегирование в ClientDataSet


1-1117802947
smesh
2005-06-03 16:49
2005.06.29
Полная поддержка Юникод


4-1114710007
MUHAMOR
2005-04-28 21:40
2005.06.29
Разные винды - разный результат


4-1115586895
Wer
2005-05-09 01:14
2005.06.29
Del programm




   Наверх