Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Kenny
Зарегистрирован: 16.11.2006 Сообщения: 6
|
Добавлено: Вт Май 15, 2007 11:02 am Заголовок сообщения: Ресайз TPanel |
|
|
Интегрировал Мап Инфо в свою программу на С++ Buildere
вот кусок кода
////////////////////////////////////////
oleMapInfo=CreateOleObject("MapInfo.Application");
s.printf("Set application Window %d", Panel2->Handle);
oleMapInfo.Exec(Procedure("Do")<<s);
s.printf("Set Window Info Parent %d", Panel2->Handle);
oleMapInfo.Exec(Procedure("Do")<<s);
/////////////////////////////////////////
Подскажите как сообщить мапинфо, что размер Panel2 изменился |
|
Вернуться к началу |
|
|
Андрей Могильный
Зарегистрирован: 21.03.2006 Сообщения: 864
|
Добавлено: Вт Май 22, 2007 10:49 am Заголовок сообщения: |
|
|
Получи у окна карты Handel и сделай ему API-вызов MoveWindow, указывая новые размеры.
Примерно так:
MoveWindow(
StrToInt(Mapinfo.Eval('WindowInfo('+IntToStr(Map.WindowID)+',12)')),
0,
0,
MapInfoContainer.ClientWidth,
MapInfoContainer.ClientHeight,
True); |
|
Вернуться к началу |
|
|
Kenny
Зарегистрирован: 16.11.2006 Сообщения: 6
|
Добавлено: Вт Май 22, 2007 1:08 pm Заголовок сообщения: |
|
|
Спасибо за ответ, буду пробовать |
|
Вернуться к началу |
|
|
Kenny
Зарегистрирован: 16.11.2006 Сообщения: 6
|
Добавлено: Вт Май 22, 2007 4:09 pm Заголовок сообщения: |
|
|
все заработало
вот код
s.printf("WindowInfo(FrontWindow(),12)");
s=oleMapInfo.Exec(Function("Eval")<<s);
MoveWindow((void*)StrToInt(s),0,0,Panel2->ClientWidth,Panel2->ClientHeight,true); |
|
Вернуться к началу |
|
|
|