mfc-ml

2004年04月

30

[mfc 48832] システムフックについてご質問です

たすくです

質問なのですが・・・

タクストレイにいるときにシステムフックをするプログラムを
作っているのですが

今システムフックをするDLLまで作ったのですが
メッセージを受け取ることはできたのですが
それからメインのプログラムの中の関数を動作させたいのですが

SendMessage();を使ってメッセージを送って
WinProc()で動作させたのですが
タスクトレイに入れているときは動作してくれません
(AttachとDetachを繰り返してるように見えます。
   MessageBox()をDllMainで動作させて確認しています)

本体プログラムのクラスのポインタを渡そうとしたのですが
メインのクラスの定義されたヘッダーファイルをインクルードしたのですが
DLLのほうにMFCをつかってないのに
MFCをつかったヘッダーをインクルードしたからと思うのですが
継承するクラスが無いとエラーが出てコンパイルできません。

言葉足らずなことがありましたらご指摘ください。

なにかよい方法をご存知の方どうかご教授ください。
よろしくお願いします。

*****************************************************************
動 作 環 境 

VisualStudio .NET Academic
Windows XP

*****************************************************************
30

[mfc 48844] Re: CHtmlViewでPDF表示中にアクセラレータを有効にしたい

NONAKA です。途中経過を報告します。

http://support.microsoft.com/default.aspx?scid=http://support.
microsoft.com:80/support/kb/articles/Q236/3/12.ASP&NoWebContent=1
上のサイトを参考に作ってみたのですが、VC.NET ではどうも期待通りの
動作が得られないようです…(ここにあるようなポップアップメニューの
抑止ができない)。

ソースをほぼそのまま VC6 に移植して試してみたところ、通常のウェブ
サイト表示時に何かキーを押すと
CCustomControlSite::XDocHostUIHandler::TranslateAccelerator()
がコールされることは確認できたのですが、ブラウザで PDF を表示して
いるときは呼ばれていないようです。
30

[mfc 48831] Re:tabctrlsslについて

まつもとです。

会員登録が必要なサイトのサンプルプログラムについて質問されてもちょっ
とあれですが、

In "[mfc 48825] tabctrlsslについて"
miyamoto wrote:
> サンプルでのAdvanstTabでボタンを押されたらメインダイアログで処理をしたい
> のです。

> おそらく、AdvanstTabのボタンクリックのところでSendMessageを使って親ウィ
> ンドウに通知するのだとは思うのですが具体的な手順が勉強不足もあり色々試し
> たのですがうまくいかないのです。


 どのような処理をさせたいのかによるかもしれませんが

 ボタンが押されたときにやらせたい処理を親ウィンドウのクラスにパブ
リックなメソッドとして追加しておいて、ボタンが押されたらそのメソッ
ドを呼べばいいだけなんじゃないですか。

#最近、裏方プログラムばっかりで、GUIアプリみたいなのは作ってないか
ら、すげー勘違いしてるかも。


---
松本 弘之
30

[mfc 48846] Re: CHtmlViewでPDF表示中にアクセラレータを有効にしたい

NONAKA です。返信ありがとうございます。

>すっかりこの辺は忘れてしまいましたが。。
>IOleInPlaceActiveObject::TranslateAccelerator() の辺りが呼ばれた
>ような気がします。

なるほど、カスタムのコントロールサイトですか。
過去にやったことはあるんですが、すっかり忘れてしまってます…。(^^;

思っていたよりも変更が大きくなりそうなので、
今すぐやってみるかどうかはちょっと検討したいと思います。
しばらく先になるかもしれませんが、また結果報告をさせていただきます。

ありがとうございました。
30

[mfc 48830] CAdodcを使ってテ-ブル、フィ-ルドの列挙

始めまして、古賀といいます。(VC++6.0)
今回はCAdodcを使ってテ-ブル、フィ-ルドの列挙を行いたいのですが
なかなか進まず困っています。
過去ログで

C_Recordset record =  c_AdoDc.GetRecordset();
CFields filed = record.GetFields();
int nCount = filed.GetCount();  <--ここ
最後の部分で確実にエラ-ログで
メンバが見つかりません
とでてしまいます。
このエラ-は何が原因なのでしょうか?
もしご存知であればご教授お願いします。
また
CDataGrid CAdodc
を使って CListBoxに列挙したテ-ブルを表示して
選択するとCDataGrid に中身が表示される
仕組みを作りたいと思っています。
なにかよいサンプルのHPや過去のログがもしあれば
よろしくお願いします。
記事検索
Amazon.co.jp
  • ライブドアブログ