mcrblog

vcpp-ml

1999年07月

31

[vcpp 00031120] Re: ActiveX の PopupMenu

道化師さん。
こんにちわ、石原です。

On Sat, 31 Jul 1999 17:41:48 +0900
道化師 <w...@mx1.tiki.ne.jp> wrote:


> CMenuのデストラクタで自動的にDestroyMenu関数が呼び出されますの
> で、この関数を抜ける時にメニューが破棄されてしまっているのだと
> 思います。

メニューは、TrackPopupMenu()の第4パラメータで指定されている、
ウィンドウが保持するので、
関数を抜ける時にメニューが破棄されるのが正しいのだと思います。
実際、DRAWCLIサンプルも同様のコーディングになっていますし、
SDKのサンプルなどを見ると、TrackPopupMenu()の直後で、
DestroyMenu()を行っています。

> あと、気になった点としてOnRButtonDownを使用されていますが、
> OnContextMenuではダメなのでしょうか?
OnContextMenu()でダメだということはないと思いますが、
OnRButtonDown()でも特に問題はないのではないでしょうか。

>>
>> 石原英幸
>> 会社 h...@niigata-s.co.jp
>>
31

[vcpp 00031119] Re: ActiveX の PopupMenu

道化師です。

『[vcpp 00031111] ActiveX の PopupMenu』より
>void CXXXCtrl::OnRButtonDown(UINT nFlags, CPoint point)
>{
>AFX_MANAGE_STATE(_afxModuleAddrThis);
>if(mTrans)
>return;
>Refresh();
>//こけるので、コメントアウトしました
>// ClientToScreen(&point);
>CMenu menu;
>menu.LoadMenu(IDR_FETYPE_SRVR_EMB);
>CMenu* pPopup = menu.GetSubMenu(0);
>ASSERT(pPopup != NULL);
>pPopup->TrackPopupMenu(TPM_LEFTBUTTON | TPM_LEFTALIGN, point.x, point.y,
this);
>}

CMenuのデストラクタで自動的にDestroyMenu関数が呼び出されますの
で、この関数を抜ける時にメニューが破棄されてしまっているのだと
思います。

あと、気になった点としてOnRButtonDownを使用されていますが、
OnContextMenuではダメなのでしょうか?


★☆ Wraith the Trickster♂
// mailto:w...@mx1.tiki.ne.jp
/ http://mx1.tiki.ne.jp/~wraith/
31

[vcpp 00031118] 解決・・。

>通常ファイルのパスを指定するのに、
>"C:\\WINDOWS\\デスクトップ\\..."
>のようにしますよね。
>そうではなくて、実行ファイルのあるディレクトリからの
>相対パスにするにはどうすればいいのでしょう?
>"\\Folder1\\Folder2\\..."
>のようにしてみても出来ませんでした・・。

"\\Folder1\\Folder2\\..."の最初の\\を抜いて
"Folder1\\Folder2\\..."みたいにしたら出来ました。

おさわがせしましたーー。(汗

****************************
This mail is sent by---Brain
<mailto:g...@cocoa.ocn.ne.jp>
****************************
31

[vcpp 00031117] 相対パスを指定するには

InstallSHIELDについて解答ありがとうございました。。
結局、LEでは使用できないということでしょうか??

今回は別の質問があります。
通常ファイルのパスを指定するのに、
"C:\\WINDOWS\\デスクトップ\\..."
のようにしますよね。
そうではなくて、実行ファイルのあるディレクトリからの
相対パスにするにはどうすればいいのでしょう?
"\\Folder1\\Folder2\\..."
のようにしてみても出来ませんでした・・。
こうやって指定するのができないなら、
実行ファイルのあるディレクトリのパスを取得する方法を教えてください。

すごくレベルの低い質問ですいません。。

****************************
This mail is sent by---Brain
<mailto:g...@cocoa.ocn.ne.jp>
****************************
31

[vcpp 00031116] Re: 16進文字列をWORD型へ変換するには?


Seiji Tsuchida <s...@trd.canon.co.jp> wrote:
(1999/07/31 13:20)

>s...@trd.canon.co.jpです。皆様には大変お世話になります。
>
>エデットBOX内の文字(16進表記)のCString型をWORD型にするの
>に一番簡単な手法を教えてください。
>例えば、”ffff”が入っていれば&hffffとする。
>CString st_adress1;
>WORD wd_adress1;
>GetDlgItemText(IDC_ADRESS1,st_adress1);
>?

nakka です

wd_adress1 = strtol(st_adress1, NULL, 16);

とか。

/*----------------------------------------------------------
Name = Tomoaki Nakashima(nakka)
E-Mail = n...@nakka.com , n...@kinet.or.jp
HOME = http://www.nakka.com/
----------------------------------------------------------*/
記事検索
Amazon.co.jp
  • ライブドアブログ