C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 >>
■30859  ADL ってどこまで効くの?
□投稿者/ 774RR -(2009/01/08(Thu) 13:33:43)

    分類:[C/C++] 

    個人的に納得がいかないのでどなたか解説していただけると幸甚の至り。

    うまくいく例
    typedef std::string value_type; // ここをいろいろ差し替える予定がある
    typedef std::vector<value_type> container_type; // list になる可能性がある
    // value_type を出力する先が cout/wcout 両方になる可能性があるので basic_ostream で実装
    // このオレオレ operator<< は当然無名名前空間においてあり std 内ではない
    template<typename charT, typename Traits>
    std::basic_ostream<charT, Traits>& operator<<(std::basic_ostream<charT, Traits>& s,
    const value_type& v) {
    return s; // 例なので何も出力しなくていい
    }
    int main() {
    container_type c;
    // value_type を cout に出力したい (将来的には wcout になる可能性あり)
    std::copy(c.begin(), c.end(), std::ostream_iterator<value_type>(std::cout, "\n"));
    }
    これは VC++(2005) gcc-4.2.2 とも期待通りの動作をする。
    期待通りとは、 ostream_iterator がちゃんとオレオレ operator<< を見つけ
    コンパイル・リンクでき、実行できる(この例では何も出力されない)、ということ。

    うまくいかない例
    typedef std::pair<std::string, std::string> value_type; // 他はすべて同一
    とすると ostream_iterator がオレオレ operator<< を見つけられなくなってしまう
    ADL が効いていないというべきか、効きすぎているといべきか?
    オレオレ operator<< を namespace std 内で定義するとうまくいくので (違反だけど)

    なぜ、無名名前空間に配置したオレオレ operator<< が
    前者<std::string> では見つかり後者<std::pair<...> > では見つからないの?
親記事 /過去ログ55より / 関連記事表示
削除チェック/

■74627  Re[3]: Shellコンテキストメニューの新規作成
□投稿者/ とっちゃん -(2015/01/15(Thu) 11:33:43)
>
    No74626 (mayopees さん) に返信
    >>もしそうなら、IContextMenu インターフェースを使ってシェルのコンテキストメニューを表示する
    >>ことを検討してみてください。
    > >
    > ご推察の通りです。
    > 趣味でプログラミングをやっていて勉強の為に、マイコンピュターと同じようなファイラーを作っています。
    > IContextMenu インターフェースは既に実装済です。
    > ですが、新規作成メニューは表示されないので、自分でメニューに追加して実装する必要があると思ったのです。
    > 「名前の変更」はIContextMenu.QueryContextMenuメソッドのフラグにCANRENAMEを設定すればメニューには出ますが
    > 「新規作成」もフラグに何か設定すれば表示されるようになるのでしょうか?
    >
    仕事のコードにコンテキストメニューを出しているところがあるのでちょっと動かしてみました。
    えーっと。。。新規作成は出てきませんね。
    ちなみに、フラグで使ってたのは、CMF_NORMAL と、CMF_CANRENAME の2つ。
    それ以外のフラグを組み合わせれば出るかもしれませんが、実験コードがないので、試せません。

    この辺りの初期実装は96年あたりのはずなので。。。
    SDKからのコピーそのままですが、IContextMenu::QueryContextMenu に渡せるフラグは以下の組み合わせ(|)です。

    #define CMF_NORMAL 0x00000000
    #define CMF_DEFAULTONLY 0x00000001
    #define CMF_VERBSONLY 0x00000002
    #define CMF_EXPLORE 0x00000004
    #define CMF_NOVERBS 0x00000008
    #define CMF_CANRENAME 0x00000010
    #define CMF_NODEFAULT 0x00000020
    #if (NTDDI_VERSION < NTDDI_VISTA)
    #define CMF_INCLUDESTATIC 0x00000040
    #endif
    #if (NTDDI_VERSION >= NTDDI_VISTA)
    #define CMF_ITEMMENU 0x00000080
    #endif
    #define CMF_EXTENDEDVERBS 0x00000100
    #if (NTDDI_VERSION >= NTDDI_VISTA)
    #define CMF_DISABLEDVERBS 0x00000200
    #endif
    #define CMF_ASYNCVERBSTATE 0x00000400
    #define CMF_OPTIMIZEFORINVOKE 0x00000800
    #define CMF_SYNCCASCADEMENU 0x00001000
    #define CMF_DONOTPICKDEFAULT 0x00002000

    どれがどういうものかについては、リファレンスを(QueryContextMenuのリファレンス)見てください。
    かなりざっくりとしか書かれてませんが、一応書いてあります。

    あとは、いろいろ試して違いをチェックするというところですかね。
    なんか、お役に立てず。。。で申し訳ないですけど、頑張ってみてください。

記事No.74622 のレス /過去ログ125より / 関連記事表示
削除チェック/

■89223  VisualC++画像処理
□投稿者/ 猫 -(2018/11/09(Fri) 01:28:06)

    分類:[C/C++] 

    VisualC++で画像処理をしたいと考えており、アドバイスを頂けると幸いです。

    画像はRGBの3色の画素があるかと思います。
    そこに透明度を表すαを加えて、αRGBの各々8bit。

    10×15ピクセルの画像の時、150画素あり、150個分の配列を用意する。
    1個分のところに合計32bitのαRGB情報が入っており、それに基づいた画像を生成し表示するプログラムを作りたいと考えております。


    まず、画像を生成するためにはC++では、どのように記述すればいいのでしょうか。
    JavaでしたらcreateImageSource()とか使うのかなと思いますが…。

    どなたか教えてください。
親記事 /過去ログ153より / 関連記事表示
削除チェック/

■89224  Re[1]: VisualC++画像処理
□投稿者/ Azulean -(2018/11/09(Fri) 06:46:31)
    RGB から画像を作る部分で、GDI+ を使う案はあり?
    http://d.hatena.ne.jp/n-trino/20130913/p1


    「表示したい」という部分をどのように作るか次第で、最適案は変わるかと思います。
    どのように「表示」する予定なのでしょうか。
記事No.89223 のレス /過去ログ153より / 関連記事表示
削除チェック/

■89227  Re[1]: VisualC++画像処理
□投稿者/ にゃるら -(2018/11/09(Fri) 09:34:35)
    No89223 (猫 さん) に返信
    > VisualC++で画像処理をしたいと考えており、アドバイスを頂けると幸いです。
    >
    > 画像はRGBの3色の画素があるかと思います。
    > そこに透明度を表すαを加えて、αRGBの各々8bit。
    >
    > 10×15ピクセルの画像の時、150画素あり、150個分の配列を用意する。
    > 1個分のところに合計32bitのαRGB情報が入っており、それに基づいた画像を生成し表示するプログラムを作りたいと考えております。

    GDIであるならば、このあたりを見てもらえればとっかかりになるかと思います。

    // ビットマップハンドルの生成、扱い方など
    http://www.geocities.co.jp/SiliconValley-SanJose/9921/bitmap.htm

    // DeviceContextを使って線を描画
    https://msdn.microsoft.com/ja-jp/library/cc390918.aspx


    MFCを使う方法もありますが、私は苦手なのでパスしています。。。
記事No.89223 のレス /過去ログ153より / 関連記事表示
削除チェック/

■89231  Re[1]: VisualC++画像処理
□投稿者/ とっちゃん -(2018/11/09(Fri) 11:22:42)
    No89223 (猫 さん) に返信
    > VisualC++で画像処理をしたいと考えており、アドバイスを頂けると幸いです。
    >
    VC++でEXEを作成ですか?
    それとも、DLLを作成してそれをどこかから呼び出すですか?

    画面表示を伴うということなので、表示先によっては変わってくる場合もあります。
    そのあたりも書いておくとより的確な回答が得られると覆います。

    一応上がっていないほかの選択肢を挙げておきます。

    CreateDIBSetion API で作成し、AlphaBlend API で描画する。

    API自体はリファレンスなどを見てください。
    見てもわからない場合は、何がわからないのかを添えて質問すると的確な回答を得られると思います。



記事No.89223 のレス /過去ログ153より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -