Re[9]: DHTML edit control for IE 5.5
От: Снорк  
Дата: 04.07.02 13:58
Оценка: 15 (2)
Здравствуйте kig, Вы писали:

kig>Здравствуйте Снорк, Вы писали:


С>>Впереди — ночь , надеюсь, разберусь .


С>>Я сразу спрошу, хотя может в новом контексте это и не вопрос.

С>>Я когда DHTMLED.OCX юзал, так и не нашёл, как выравнивать "кубиком" текст.
С>>То есть, в HTML'е такого нет, DECMD_ALIGNWIDTH нет тоже.
С>>А очень бы надо. Как такое сотворить?

С>>Огромное спасибище за помошь!!!


kig>А попробуй команду JustifyFull. Хотя и написано, что Not currently supported, но чем черт не шутит? Вон, про Redo и Undo тоже самое написано, а выполняет. Правда у меня ie6.


Еще раз спасибо! Проект запахал.
Появились некоторые замечания.
1) JustifyFull работает, и делает это вставляя тэг <P ALIGN = JUSTIFY></P>
2) Если верить MSDN'у, то и put_(get_)designMode — тоже not supported.
3) Есть более лёгкий способ отслеживать апдейт для тулбара:

BEGIN_EVENTSINK_MAP(CPage3, CPropertyPage)
    //{{AFX_EVENTSINK_MAP(CPage3)
    ON_EVENT(CPage3, IDC_EXPLORER1, 259 /* DocumentComplete */, OnDocumentCompleteExplorer1, VTS_DISPATCH VTS_PVARIANT)
    ON_EVENT(CPage3, IDC_EXPLORER1, 105 /* CommandStateChange */, OnCommandStateChangeExplorer1, VTS_I4 VTS_BOOL)
    //}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()

void CMyDlg::OnCommandStateChangeExplorer1(long Command, BOOL Enable) 
{
  // Вызов Update'а для тулбара, который инициирует вызов OnUpdate для каждого батона
  m_wndToolBar.OnUpdateCmdUI((CFrameWnd*) this, TRUE);    
}


Но! В контекстном меню присутствует очень гадкая вещь — перевод окна в режим "чиста браузера". Как её отследить? Я не нашёл.
Без этого мой проект потерял бы смысл, т.к. основан на частом переводе в визуализационный/редактируемый режимы,
а потому, пришлось писать свою реализацию интерфейса IDocHostUIHandler, хотя я и переопределил лишь метод, отвечающий за контекстное меню.

То есть, дело вкуса, где ловить тулбарный апдейт.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.