Здравствуйте Vi2, Вы писали:
T>> Переименуй .ocx в .dll — они имеют одинаковый формат. Должны, по крайней мере.
Spasibo Vi2 za otvet!
Togda znachit pridetsya menya' mnogoe v registry (ProgID, put' k failu, t.e. ego rasshirenie, i t.p.), a eto bol'shay moroga i mogut bit v dal'neishem problemu. Chto skajete?
U menya osnovnaya problema takova. Delayu proeskt cherez File->New->ATL COM AppWizard. Dal'she dobavlyayu Composite Control. Tam dlya sozdaniya toolbara nujen sled kod, i Init Dialoge ili Create —
CToolBar m_wndToolBar;
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_TOOLBAR1))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
// TODO: Delete these three lines if you don't want the toolbar to
// be dockable
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);
delo v tom chto CreateEx trebuet CWnd*, a Composite Control kotorii ya dobavil ne CWnd, on vsego lish imeet kakoi-to neyasnii HWND.
Kogda ya pishu drugoi kod —
LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
//this->m_hWnd;
CWnd* pwnd ;
pwnd->Attach( m_hWnd ) ;
if (!m_wndToolBar.CreateEx(pwnd, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_TOOLBAR1))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
to programma dae oshiblu i ostanavlivaetsya na tom chto ASSERT(m_hWnd==NULL).
nu voobschem nujno etot toolbar creatnut', no nujen parent window kotorogo netu :(