IEコンポーネント – プログラミング – Home

通知
すべてクリア

IEコンポーネント


まいまい
 まいまい
(@まいまい)
ゲスト
結合: 20年前
投稿: 23
Topic starter  

以前お世話になったものです。
今eMbedded Visual C++4.0を使っています。
それで以前インターネットエクスプローラーのように
ブラウザのような 普通にネットの画面を表示できる物を作る質問をしました。

それで今回MFCが良いという話でしたので

新規作成 → 
void CHtmlView::OnInitialUpdate()  クラスの作成 →
Navigate2(_T( http://wwwほにゃらら),NULL,NULL);

と作成した所、 error C2065: 'Navigate2' : undeclared identifier
とエラーがでてしまいました。これはNavigate2が無いと言う事でしょうか?
どうしたらよいのでしょうか。
他のやり方が良いのでしょうか。


引用解決済
トピックタグ
tib
 tib
(@tib)
ゲスト
結合: 23年前
投稿: 468
 

この書き方では肝心の所が読み取れないのですが、CHtmlViewもしくはCHtmlViewから派生
させたクラスのメソッドとして呼んでいないのではないでしょうか。


返信引用
PATIO
(@patio)
Famed Member
結合: 4年前
投稿: 2660
 

下手に省略せずにまとまったコードを載せた方がいいと思いますよ。
特に出ているエラーの内容からすると実際のコードを見ないと
何ともいえないような感じのないようですし。


返信引用
まいまい
 まいまい
(@まいまい)
ゲスト
結合: 20年前
投稿: 23
Topic starter  

CHTmlViewの全てと言うとこういう事ですか??

// htmlView.cpp : implementation of the CHtmlView class
//

#include stdafx.h
#include html.h

#include htmlDoc.h
#include htmlView.h

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CHtmlView

IMPLEMENT_DYNCREATE(CHtmlView, CView)

BEGIN_MESSAGE_MAP(CHtmlView, CView)
//{{AFX_MSG_MAP(CHtmlView)
// NOTE - the ClassWizard will add and remove mapping macros here.
// DO NOT EDIT what you see in these blocks of generated code!
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CHtmlView construction/destruction

CHtmlView::CHtmlView()
{
// TODO: add construction code here

}

CHtmlView::~CHtmlView()
{
}

BOOL CHtmlView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs

return CView::PreCreateWindow(cs);
}

/////////////////////////////////////////////////////////////////////////////
// CHtmlView drawing

void CHtmlView::OnDraw(CDC* pDC)
{
CHtmlDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);

// TODO: add draw code for native data here
}

/////////////////////////////////////////////////////////////////////////////
// CHtmlView diagnostics

#ifdef _DEBUG
void CHtmlView::AssertValid() const
{
CView::AssertValid();
}

void CHtmlView::Dump(CDumpContext& dc) const
{
CView::Dump(dc);
}

CHtmlDoc* CHtmlView::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CHtmlDoc)));
return (CHtmlDoc*)m_pDocument;
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CHtmlView message handlers

void CHtmlView::OnInitialUpdate()
{
CView::OnInitialUpdate();

// TODO: この位置に固有の処理を追加するか、または基本クラスを呼び出してください
// Navigate2(_T( http://www-kobayashi.ctrl.titech.ac.jp/~mtanaka/vc/HelloWorld/
),NULL,NULL);
}


返信引用
RAPT
 RAPT
(@RAPT)
ゲスト
結合: 22年前
投稿: 310
 

…もしかして、自作クラスとして、CHtmlViewクラスを定義している?

普通はMFCだったら、CHtmlViewクラスの *派生クラス* を作成し、
その中で CHtmlView::Navigate2() を呼び出します。


返信引用
RAPT
 RAPT
(@RAPT)
ゲスト
結合: 22年前
投稿: 310
 

もしくは、別のクラス内で、CHtmlView をメンバに持って操作する。


返信引用
まいまい
 まいまい
(@まいまい)
ゲスト
結合: 20年前
投稿: 23
Topic starter  

あのう、お恥ずかしい話なんですが
派生クラスがコピーってのはわかったんですが
どれをどのようにコピーするのかがよくわかりません。
ご教授お願いできないでしょうか


返信引用
まいまい
 まいまい
(@まいまい)
ゲスト
結合: 20年前
投稿: 23
Topic starter  

クラス名の後に、: とコピー元のクラス名を付けてクラスを宣言します。
という事なのですが、

CHtmlViewクラスの *派生クラス* を作成というのは
例えば
class maimai :CHtmlView()

その中で  
Navigate2(_T( http://www-kobayashi.ctrl.titech.ac.jp/~mtanaka/vc/HelloWorld/
),NULL,NULL);   と記述するのでしょか??


返信引用
まいまい
 まいまい
(@まいまい)
ゲスト
結合: 20年前
投稿: 23
Topic starter  

あっ!!
その前に どうもCHtmlViewクラスがないようなのですが
新規作成のさいにCHtmlViewを作るような操作があるのでしょうか。


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

そもそもサポート外なのでは?
http://forums.belution.com/ja/vc/000/254/04.shtml


返信引用
PATIO
(@patio)
Famed Member
結合: 4年前
投稿: 2660
 

WindowsCEの場合、Windowsのサブセットと言う位置づけなので全てのコンポーネントが
そろっているわけではないし、APIとかMFCとかも全てサブセットと言う位置づけだったは
ずです。
なのでWindowsCEでの開発はかなり制約が大きいですし、そもそも組み込み機器の場合は
リソースに制約があるのでPCのようにメモリを湯水のように使うロジックではきちんと
動作する事が期待できません。
この辺は、最初に設計する時点から考慮に入れておかないと厳しい事になる場合が多いです。
また、組み込み機器と言う性質上、APIの全てがMSから提供されているわけではないので
ものによっては実装依存と言う事もあります。
最悪の場合は、ダミー実装(中身は空)なんてのもありえますし。
この辺は自分がターゲットにしている機器で何が出来て何が出来ないのかきちんと把握す
る必要があります。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました