информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Где водятся OGRыЗа кого нас держат?
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 700 с лишним git-серверов пострадало... 
 От повторного пришествия Шаи-Хулуда... 
 Крупный сбой Azure и других сервисов... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[C++] А никто не видел... 30.08.01 11:26  Число просмотров: 912
Автор: гомес Статус: Незарегистрированный пользователь
<"чистая" ссылка>
... просто работоспособный законченный кусок кода?
С MFC связь простая: у Круглински на паре страниц написано какие кнопки нажимать для MFC-проекта. Вы будете смеяться, я даже читал "Inside COM" :)
<programming>
[C++] OCX в С++ без MFC 29.08.01 20:07  
Автор: гомес Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Где можно посмотреть примеры использования готовых OCX в проектах на С++ без MFC?
[C++] OCX в С++ без MFC 30.08.01 02:02  
Автор: +. Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Где можно посмотреть примеры использования готовых OCX в
> проектах на С++ без MFC?

A kakai svias` mezdu OCX i MFC?
OCX eto OLE Custom Control i ni kakogo otnoshenia k MFC ne imeet. I kak i luboi control mozhet byt` napisan, i estestvenno ispolzovan vo mnogih iazykah (C, C++, VB, .....), ne govoria uzhe o C++ bibliotekah. I chto by polnostiu poimet` vse ego (controla) blaga dlia etogo nuzhen OLE conteiner v kotorom on i begaet.
Skoree vsego tebe nado pochitat`o OLE/COM technology chto by pobolshe uznat` chto eto i kak eto ediat.

1. naprimer pochitai kak napisat` kontainer:
http://msdn.microsoft.com/library/en-us/dnolectrl/html/msdn_contcntr.asp?frame=true

2. Ty mozhesh Ispolzovat ATL / WTL chto by napisat container.

3. book : "Inside OLE" kstati ona est` v MSDN subscription

4. Ili prosto v MSDN poroisia.

[c++] nu a esli tebe vse eto v oblom togda ispoluii atlaxcreatecontrol( lpcolestr lpszname, hwnd hwnd, istream* pstream, iunknown** ppunkcontainer ); 30.08.01 02:08  
Автор: +. Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Nu a esli vse eto v oblom togda ispolzui:
AtlAxCreateControl( LPCOLESTR lpszName, HWND hWnd, IStream* pStream, IUnknown** ppUnkContainer );


tam v ATL eche neskolko Function est` chto by s kontrolom rabotat`. No dlia eto nado Ispolzovat` ATL.
[C++] А никто не видел... 30.08.01 11:26  
Автор: гомес Статус: Незарегистрированный пользователь
<"чистая" ссылка>
... просто работоспособный законченный кусок кода?
С MFC связь простая: у Круглински на паре страниц написано какие кнопки нажимать для MFC-проекта. Вы будете смеяться, я даже читал "Inside COM" :)
[COM] Example 31.08.01 02:51  
Автор: + <Mikhail> Статус: Elderman
Отредактировано 31.08.01 02:59  Количество правок: 1
<"чистая" ссылка>
> ... просто работоспособный законченный кусок кода?
> С MFC связь простая: у Круглински на паре страниц написано
> какие кнопки нажимать для MFC-проекта. Вы будете смеяться,
> я даже читал "Inside COM" :)

Esli ty hochesh rabotat` s ATL functions(eto kstati samyi udobnyi variant), togda ty dolzhen sozdat` ATL project
vot Primer . I sozdal ATL .EXE server i vnutri _tWinMain(...) polozhil code
extern "C" int WINAPI _tWinMain(HINSTANCE hInstance, 
    HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nShowCmd)
{
// vseu baidu propuskaem sdes`


// . . . 

// i pered samoi message loop vstavliem eto:
	CMydlg dlg;
	::IWebBrowserApp *pApp;
	HRESULT hr;
	IDispatch *punk, *punk2;

	dlg.Create(0,0);
	dlg.ShowWindow(SW_SHOWNORMAL);
		
		
		
	hr = AtlAxCreateControl(L"Shell.Explorer",  dlg.m_hWnd, 
				  NULL,
				  (IUnknown**)&punk);
//punk -  eto pointer na IUnknown of container v kotorom control runaetsia
	if(!SUCCEEDED(hr))
		goto _EXIT;

	hr = AtlAxGetControl(dlg.m_hWnd, (IUnknown**)&punk2);
//punk2 - eto pointer na IUnknown tvoego controla.
	if(!SUCCEEDED(hr))
	{
		punk->Release();
		goto _EXIT;
	}
		
	hr = punk2->QueryInterface(IID_IWebBrowserApp, (void**)&pApp);
//teper poluchen pointer na interesuuchii nas interface (v dannom sluchae IWebBrowserApp)
	punk->Release();

	if(!SUCCEEDED(hr))
	{
		punk2->Release();
		goto _EXIT;
	}
	punk2->Release();

			
	if(SUCCEEDED(hr))
	{
// i vyzyvaem method kotory my hoteli vyzvat`
		hr = pApp->Navigate(L"http:\\localhost",0,0,0,0);
// konechno ze vsegda nuzhna proverka hr			
// i ne zabyvau Relese() kak tolko interface bolshe ne nuzhen			
		MSG msg;
		while (GetMessage(&msg, 0, 0, 0))
			DispatchMessage(&msg);

		pApp->Release();
	}
_EXIT:
 
//sdes ostatok VC baidy .....


//....

}

---

CMydlg - eto class dlia sozdania Okna ( etot class ne osnovan na mfc!!) mozhesh ego sozdat` na osnoe novogo ATL objecta ( I ego tak i sozdal). mozhesh s pomochu Win32 API.
Большое спасибо 31.08.01 03:46  
Автор: гомес Статус: Незарегистрированный пользователь
<"чистая" ссылка>
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach