Situgyosya の回答履歴
- リストコントロールのリスト内にスピンコントロールを配置したい
お世話になります。 C++ 6.0 MFC で開発しております。 リストコントロール内に表示させるリスト内にスピンコントロールをつけたいのですが、どのようにすれば実現できるのでしょうか? ※リストを追加するたび、スピンコントロールがついたリストが追加されるようにしたいのです。 説明が載っているサイトでもいいので教えて頂ければありがたいですので なにとぞよろしくお願いします。 お手数ですが、なにとぞよろしくお願いします。
- visual c++ 2008 express editionでアセンブリを参照できるか?
visual c++ 2008 express editionでアセンブリ言語を参照できますか?できる場合は方法を教えてください。
- 締切済み
- C・C++・C#
- noname#97178
- 回答数2
- C++ bmp 透過処理
標準C++で画像フォーマットはビットマップです。 画像Aの上に画像Bを乗せる。 画像Bの特定の色を透けさせる。 その透けた部分だけ画像A、それ以外は画像Bが表示される。 といった処理を実現したいです。 どのようにすればよろしいでしょうか。
- ベストアンサー
- C・C++・C#
- ShimantoGa
- 回答数4
- C言語の必要性について
C言語を取得しなければならない目的および必要性について具体例と共に聞かれたのですが、はたして確かな答えがあるのでしょうか。言語は何もCだけではないし、必要に応じて使い分けをするべきだと思っています。C言語は組込み向きで簡単に組みやすく、使いやすいとも聞いたのですがその説明にはぴんときませんでした。 C言語の学習を始めた際、「何故C言語なのだろう」と、少し疑問は持ったのですが、普及されてるからで済ましてしまっていたので改めて聞かれても答えにつまりました。 纏まりの無い質問ですが、みなさんのお考えを教えて頂けたらありがたいです。
- ベストアンサー
- C・C++・C#
- sakodakoma
- 回答数7
- DLLとexeでのインクルードについて
いつもお世話になっております。DLLでincludeしたものはexeでもincludeしなければならないのか疑問に思っています。 例えば、 DLL側である関数abc()内でWindowsMessage()を使用するために#include<windows.h>とインクルードした場合。 Exe側では関数abc()を使用するためにwindouw.hをインクルードしなければならないのでしょうか。 試してみた所、インクルードしなくてもうまくいったのですがたまたま何かしらでうまくいっていただけかもと不安に思ったので、一般的にはどうなのかと思い質問させていただきました。
- Cの関数をC++とCのどちらからでも呼べるようにするには?
お世話になります。 環境はVC6.0となります。 C++で作成したプログラムから、Cで作成したDLLを呼び出す場合、DLL側のプロトタイプ宣言に「extern "C"」を付加する必要があると認識していますが、 呼び出し側がC++かC言語が分からない場合、Cで作成するDLLにはどのように記述するのが一般的(標準的)でしょうか? ちなみに調べてみたところ、 以下のように、「__cplusplus」でくくる方法もあるようですが、C++の標準仕様ではないとの記載がありました。 #ifdef __cplusplus extern "C" { #endif int function(int num); int function2(int num); int function3(int num); #ifdef __cplusplus } #endif よろしくお願いします。
- 【VC++6.0】ソースコードの文字の大きさを変更させるには?
いつもお世話になっております。 VC++初心者です。 VC++6.0 enterprise editionを使用していますが、 表示されるソースコードの 文字の大きさを変更できずに困っています。 (VC2005 express editionではできたと思います。) ご存知の方がいらっしゃいましたら、ご教授下さい。
- クラスの宣言でのメモリ使用サイズの違い
お世話になります。 現在、Visual Studio 2005にてMFCのC++のプログラムを作成しているのですが、そこでメモリの使用容量について疑問に感じた点があったのでこちらで、質問させて頂きました。 お聞きしたい内容は あるクラス1内で別のクラス2を宣言する際に、メンバ変数としてそのクラス2を宣言し、クラス1のコンストラクタでnewでメモリを確保し、デスクリタでdeleteする方法と、その都度クラス2の変数または関数が必要なときにnewでメモリを確保して、deleteで開放する方法とでは、メモリの確保等で違いがなにかありますでしょうか? また、クラス2をクラス1,クラス3で使用する場合には、クラス1,クラス3でそれぞれクラス2のオブジェクトを宣言するのと、クラス1でクラス2のオブジェクトを宣言し、そのオブジェクトをクラス3でexternするのではどちらの方がメモリの使用等からよい方法なのでしょうか? 今までほとんどメモリを気にせずにプログラムを作っていた為、メモリの使用の点ではほとんど無知な為、変な質問なのかもしれませんが、ご存知の方がいらっしゃいましたら、ご回答をお願い致します。 開発環境は Widows CE 6.0 Visual Studio 2005 です。
- LNK1210が出て困っています。
インクリメンタルリンクエラーがでて困っています。 1つのDLLが巨大すぎるため、メモリ不足のため、LINK はインクリメンタル ステータス ファイル (.ilk) を作成できません。 いまだに、VisualC++6.0を使っています。 何か良い解決策ないでしょうか? よろしくお願いします。
- ベストアンサー
- C・C++・C#
- noname#192260
- 回答数1
- winmain関数とmain関数の結合について
ヴイストン社製のVS-C14U-33-STという全方位センサと全方位ライブラリODSSDKを購入したのですが、その全方位ライブラリの中のodssdk_sample6(静止画/動画の全方位展開画像ビューア)というプログラムに、OpenCVのエッジ検出のプログラムを結合させたいと思っております。ですが、それぞれwinmainとmainで使っている関数が違うため、どのように結合したら良いのかまったくわかりません。実際のプログラムを載せたいのですが、一回では載せきれないため、この全方位センサをお持ちの方で、この問題を解決できる方ぜひご協力お願いします。 開発環境は、Visual C++ 2008 Express EditionでDirectXとPlatform SDKは、インストールしてあります。
- 無関係のウィンドウがアクティブになったことを察知したい
デスクトップ上の自分とは無関係の場所でアクティブウィンドウが 切り替わったことをウィンドウメッセージで受け取ることは可能でしょうか? 例) デスクトップ上にA(自分)、B、Cのウィンドウがあります。 現在Bのウィンドウがアクティブです。 この状態からCのウィンドウがアクティブになったことをイベントで受け取りたい。 現在定周期タイマでCがアクティブかどうか調べていますが、 なんかかっこわるくて・・・ 宜しくお願いします。
- ベストアンサー
- C・C++・C#
- yoshie_orc
- 回答数2
- C++の継承方法を強制する方法はありますか?
こんにちは。 C++でprivate継承で使うことを想定したクラスを作りました。 public継承だと不具合が起こる危険性が上がるのでprivate継承を強制したいのですがそういった継承方法を強制できるような便利な機能はありませんでしょうか?
- プログラム領域の算出方法
現在C言語でプログラミングの勉強(設計含む)をしているのですが、設計書の記載項目に「プログラム領域」「ヒープ領域」「スタック領域」の算出を関数ごとに行うというような記述がありました。 動的メモリ領域・スタック領域の算出方法は何とか調べたのですが、「プログラム領域」の算出方法がわかりません! 出来れば 1.プログラム全体のプログラム領域の算出方法 2.関数ごとのプログラム領域の算出方法 を教えて頂けないでしょうか? 勉強している環境 OS:WindowsXP コンパイラ:Borland C++ Compiler 5.5 よろしくお願い致します。
- 締切済み
- C・C++・C#
- yamamegane
- 回答数3
- ファイルオープン
MFCのVC++6.0を使用しています。 ファイルオープンのことなんですが FILE *f; char buf[2000]; if((fopen("C:●●,"w"))==NULL)){ MessageBox("ファイルオープンエラー"); } while(fgets(buf,1000,f)!=NULL{ //処理 } fclose(f); } などで例えばリストボックスにファイルの内容を書き出したり はできます。 私の行いたいことはそのままファイルを開くということです。 例えばエクセルなどのファイル○○.XLSなどを開いたときに何かを 媒体にせずにそのまんま新ウィンドウでエクセルとしてファイルを 開くということです。どうすればいいのか調べてもわかりません。 教えて下さい。
- メンバ関数(メソッド)をマルチスレッドにしたい
環境はWinXPでVisual Studio 2005を使用しています。 C言語で関数をマルチスレッド化するにはこんな感じでOKでした。 // マルチスレッド関数 void Thread( void * ) { } void MainFunc() { (HANDLE)_beginthread( Thread, 0, NULL ); } こんな風にスレッド関数をC++のメソッドに変えてうまくいくかと思い class Test_c { public: void Thread( void * ); } ; // マルチスレッド関数 void Test_c::Thread( void * ) { } void MainFunc() { Test_c t t; (HANDLE)_beginthread( t.Thread, 0, NULL ); } とするとエラーが出てきてしまい、コンパイルが通りませんでした。 C++のメンバ関数をマルチスレッド関数としたい場合はどの様に書けばよいのでしょうか・・?
- GDI+で高速な描画
GDI+を利用してお絵かきツールのようなものを作成しようと思っています。 しかしdrawImage()での画面への描画が非常に遅いようで、描いてみると線がカクカクしてしまいます。 アンチエイリアスやアルファブレンドが必要なのでGDI+を利用したいのですが、どうにか高速に描画させる方法はないでしょうか? 下記は現在のソースの一部です。 static Bitmap *offscreenBitmap //描画処理はこっちに static Graphics *offscreen; static Graphics *onscreen; //画面表示用 static RECT rect; //クライアント領域 static POINTS posPts,pts; //一つ前と現在のマウス座標 static BOOL bLButtonDown; Pen nomalPen(Color(100,0,0,0), 1); //描画用ペン switch(msg){ case WM_CREATE: GetClientRect(hWnd,&rect); offscreenBitmap = new Bitmap(rect.right, rect.bottom); //ビットマップ生成 offscreen = new Graphics(offscreenBitmap); offscreen->SetCompositingMode(Gdiplus::CompositingModeSourceOver); offscreen->SetSmoothingMode(Gdiplus::SmoothingModeAntiAlias);//アンチエイリアス有効化 offscreen->Clear(Color(255,255,255)); //初期化 onscreen = new Graphics(hWnd); //ウインドウ表示用 onscreen->SetCompositingMode(CompositingModeSourceCopy); break; case WM_LBTTONDOWN: bLButtonDown = TRUE; posPts=MAKEPOINTS(lp) break; case WM_MOVE: pts=MAKEPOINTS(lp) if(bLButtonDown){ offscreen->DrawLine(&nomalPen, posPts.x, posPts.y, pts.x, pts.y);//線描画 posPts.x=pts.x; posPts.y=pts.y; } InvalidateRect(hWnd,&rect,0);//ウインドウを更新 break; case WM_PAINT: onscreen->DrawImage(offscreenBitmap,0,0);//画面に書き出し break; }
- 最大50桁の実数の和・差・積を求めたい
C++で、2つの最大50桁の実数を入力して、その和・差・積を求めるプログラムを作りたいのです。 実数をchar型に入力させて、それを1桁ずつint型に変換したいのですが、どのようにやればよいのでしょうか? また、その際、符号や小数点はどうすればよいのでしょうか? 計算の流れとしては、 ○足し算 小数点を合わせる ⇒下位の桁から1桁ずつ足し算していく ⇒結果が10以上の場合、10を引き、左隣の桁の数字に1を加える ○引き算 小数点を合わせる ⇒下位の桁から1桁ずつ引き算していく ⇒引かれる数字のほうが引く数字より小さい場合、引かれる数字に10を足し、左隣の桁の引かれる数字から1を引く というような感じで考えているのですが、小数点の合わせ方がわかりません。 また、掛け算に関しては、筆算の要領でやろうと思うのですが、どのようにやればよいのでしょうか? 私はC++の勉強歴が短いので、できれば初心者向けのわかりやすい説明でお願いします。
- C言語でのコンパイラの作成方法
C言語初心者のため、稚拙な文章になる可能性があることを最初にお詫びします。 現在Microsoft社のMicrosoft Visual C++ 6.0を用いてCドライブのルートにある「temp.c」というソースファイルをコンパイルするアプリケーションを作ろうと思っているのですが、ネット上で「C言語 コンパイラ 作成」等と検索しても、既にコンパイラがあることを前提としたホームページしか見つけることができず、肝心のコンパイラをどのように作ったらよいのかということが載ったホームページが見つかりません。 というわけで、今回はコンパイラをどのように作ったらよいのかというヒントだけでもいいので教えて頂けないかと思い投稿させて頂きました。 ちなみに「temp.c」はそこまで複雑なソースではなく、DOS上のアプリで、リソースやアイコンなどは用いないものです。 そもそも「コンパイラを作る」ということ自体が愚かな行為なのかと思ったりもします。 私が所持しているBcpadやMicrosoft Visual C++ 6.0に付属している既存のコンパイラを利用するということも考えたのですが、BcpadやMicrosoft Visual C++ 6.0の本体以外からコンパイラをどのように利用していいのかもわかりません。 どうぞ忌憚の無い意見をよろしくお願いします。 ちなみにOSはXPのSP3です。
- ベストアンサー
- C・C++・C#
- jovancampa
- 回答数8
- リエントランスな関数
最近、リエントランス(re-entrance)な関数という言葉を聞きました。 恥ずかしながら、全然意識したことのない言葉でした。 C言語の標準ライブラリには、リエントランスな関数とそうでない関数があると聞いたのですが、それを調べるにはどのようにしたら良いでしょうか? ANSIの仕様で決まっているのでしょうか? それとも、コンパイラ依存なのでしょうか? 参考書とかHPとかを紹介していただけるとありがたいです。 よろしくお願いします。
- ベストアンサー
- C・C++・C#
- okazaki0ko
- 回答数6