Здравствуйте 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, хотя я и переопределил лишь метод, отвечающий за контекстное меню.
То есть, дело вкуса, где ловить тулбарный апдейт.