All Forums
 Категория Visio
 Форум Вопросы и ответы
 Stensil Window
Author Previous Topic Topic Next Topic  

mers

Russia
159 Posts

Posted - 12/06/2005 :  15:16:26
Здравствуйте.
Вопрос скорее к тем кто использует Drawing Control
Мне нужно программно закрывать кокретные библиотеки из этого окна. Как это сделать? Открыть без проблем, а вот закрыть не получается.
и сразу смежный вопрос: в стенсил експлорере есть совершенно бесполезное окно серч фо шейпс, как его убрать?

Было бы очень интересно услышать мнение Volanda, т.к. в каком-то топике видел подобную проблему, но так к сожалению и не смог найти его.

mers

Russia
159 Posts

Posted - 12/06/2005 :  16:00:44
так..со вторым вопросом разобрался.
серч фор шейпс можно сделать невидимым, делается это так:
Visio.Window viswin = axDrawingControl.Window.Windows.get_ItemFromID((int)Visio.VisWinTypes.visWinIDShapeSearch);
viswin.Visible = false;
первый вопрос все еще в силе

Edited by - mers on 12/06/2005 16:01:10
Go to Top of Page

mers

Russia
159 Posts

Posted - 12/06/2005 :  17:08:14
решился и первый вопрос :)
Visio.Windows wins = axDrawingControl.Window.Windows;
for(short i=1; i<=wins.Count; i++)
{
   if(wins[i].Type == 7)
   {
      wins[i].Close();
      i=1; //Делаю это потому что количество окон изменяется.
           //Соответственно можем пропустить какое-нибудь окно.
           //Есть еще вариант делать i-- но, возможно потеряем какое-нибудь окно.
           //Вообще интересно нумерация окон меняется при изменении их количества?
   }
}
Go to Top of Page

Voland

91 Posts

Posted - 12/07/2005 :  12:47:43
mers, спасибо! Ты помог разрешить мне эту проблему.. да я сней столкнулся, но не успел ее решить, т.к. босы требовали быстрого решения других задач...
Я правда работаю с Drawing Control на делфи, но это не меняет спецификации...
я переписла твой код на делфевый, и чуть не уписался от радости :) замечательно!
Будем держать связь... если что срашивай, если знаю подскажу расскажу..
Если кому интересно, выше описанный код на делфи:
procedure TMainform.ToolButton33Click(Sender: TObject);
var W:IVWindow;
Ws:IVWindows;
i:Integer;
begin
//Прячем окно поиска в стенсилах
W:=DrawingControl.Window.Windows.ItemFromID[visWinIDShapeSearch];
W.Visible:=False;

//Закрываем все окна в стенсилах (можно сделать по индексу или по кепшену (имени файла) окна)
Ws:=DrawingControl.Window.Windows;
i:=0;
While i<Ws.Count do begin
Inc(i);
if Ws[i].type_ = 7 then begin
// if Ws[i].Caption='нужное окно' then begin
Ws[i].Close();
i:=0;
end;
end;
end;
end;



___ Кто ищет тот найдет __
Go to Top of Page
  Previous Topic Topic Next Topic  
Данный сайт является архивом форума visio.artberg.ru, который был закрыт в связи с переходом на новую платформу visio.getbb.ru
Все материалы доступны только для чтения! Если у вас появились вопросы, или вы хотите что-то обсудить, связанное с Visio, обращайтесь на новый форум!
Архив был создан благодаря совместным усилиям Генадия Туманова @Tumanov (visio.artberg.ru), Александра ака @Surrogate (visio.getbb.ru), и Николая Белых @nbelyh (unmanagedvisio.com)