![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 15.05.2009
Сообщений: 29
|
![]()
Я создал простое окно со стилем WS_EX_TOOLWINDOW на основе диалога и хочу его определить дочерним по отношению к другому приложению (MapInfo). Вроде получилось, окошко привязалось к программе, но оно:
- не всегда правильно отрисовывается; - после сворачивания основного окна мое окно не реагирует на клик мsib? пока не сделаешь активным основное окно, хотя на контролы можно нажать. Окно создаю так: Код:
Код:
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 17.09.2009
Сообщений: 294
|
![]()
самый лучший способ сделать твое окно дочерним в MapInfo, поместить окно в Dll, и написать вызов из программы написанной на MapBasic'e.
принимаю благодарности в письменном виде( весы слева)...
![]() |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 15.05.2009
Сообщений: 29
|
![]()
Я переделал exe в dll, заменив WinMain на экспортную функцию (ее я вызываю из MI), но DialogBox возвращает "-1".
Код:
Последний раз редактировалось Qwe1; 02.12.2010 в 14:58. |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 17.09.2009
Сообщений: 294
|
![]()
к сожелению C++ я не знаю, но если хочешь могу навоять пример на delphi.
принимаю благодарности в письменном виде( весы слева)...
![]() |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 15.05.2009
Сообщений: 29
|
![]()
Сейчас задача сузилась: нужно для начала вызвать диалог из DLL. Как это сделать? На Delphi? Если и там чистый WinAPI - то можно, посмотрю, спасибо.
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 17.09.2009
Сообщений: 294
|
![]()
Вот тебе архивчик, разбирайся.
принимаю благодарности в письменном виде( весы слева)...
![]() |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 15.05.2009
Сообщений: 29
|
![]()
Спасибо, посмотрю повнимательней. Но это ведь модальное окно, то есть пока его не закроешь работать дальше нельзя, а можно сделать его немодальным и убрать из таскбара?
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 17.09.2009
Сообщений: 294
|
![]()
Держи... Подправил DLL, изучай
принимаю благодарности в письменном виде( весы слева)...
![]() |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 15.05.2009
Сообщений: 29
|
![]()
А можно сделать так, чтобы это окно сворачивалось при сворачивании окна MI, теряло фокус, когда и основное окно теряет фокус и т.д.? То есть вело бы себя как дочернее? Еще заметил, что когда закрываешь окно из DLL, закрывается и окно MI, а если наоборот - MI вылетает.
|
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 17.09.2009
Сообщений: 294
|
![]()
Подправил dll:
1. вместо закрытия, прячем окно (тогда не будет закрываться MI); 2. что бы окно вело как дочернее, необходимо перехватывать сообщения для MI, т.е. ставь хуки на окно MI.
принимаю благодарности в письменном виде( весы слева)...
![]() |
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как сделать при нажатии кнопки новое окно | quarty | Общие вопросы Delphi | 9 | 01.11.2010 14:06 |
как сделать что новое окно не открывалось,а... | DimOn4Ik | Общие вопросы Delphi | 10 | 15.10.2009 09:37 |
Как сделать, чтобы модальное окно закрылось по условию? | DrMcSheen | Общие вопросы C/C++ | 2 | 24.08.2009 15:54 |
Как сделать окно дочерним? | abdyla_v | Win Api | 0 | 25.08.2008 20:24 |
Помогите сделать окно авторизации пользователей | HAMMAN | Помощь студентам | 2 | 09.05.2008 00:02 |