プログラム

C++/CLI

【C++/CLI】テキストボックスの文字列を変数へ代入

テキストボックスの文字列はtextbox1->Textのようにすると取得できますが、この文字列を数値へ変換するには各型に用意されているParseメソッドを使います。 (例) int Val= int::Parse(textbox1->Tex...
C++/CLI

【C++/CLI】 nullチェック

今回は、あまり教える程理解できていないので、メモ的な意味で... C言語ではメモリを確保したか?を確認するのにポインタがNULLかどうか確認しますが、C++では『^』で表されるハンドル型というC言語のポインタにも似た型が登場し、このハンドル...
C++/CLI

【C++/CLI】アンカープロパティによるフォームのリサイズ処理

フォームのリサイズ時にボタンなどの位置をフォームの大きさに合わせて調整する場合、位置を調整するコントロールのAnchorプロパティを設定すると簡単に位置調整が可能となります。 Anchorプロパティは指定した方向がリサイズ時の位置の基準とな...
C++/CLI

【C++/CLI】フォーム間参照

下図のように、メインのフォームから設定値を設定するための子ウィンドウ(ダイアログボックス)を 表示し親のウィンドウに値を設定しなおす方法を紹介します。 フォームを開く フォームをモーダルで表示する場合はShowDialogメソッドを、 モー...
C++/CLI

【C++/CLI】フォーム(ウィンドウ)のサイズ固定

プログラム実行時のウィンドウのサイズをユーザに変えられないようにサイズを固定するには フォームのFormBorderStyleプロパティをFixed××に設定します。 なんとなく、FormResizeみたいなプロパティが無いか?探したくなっ...
C++/CLI

【C++/CLI】ウィンドウの押されたボタンを取得(DialogResultプロパティ)

一般的なウィンドウでは下図のようにOKボタンとCancelボタンを配置しボタンが押されるとウィンドウを閉じるようにしますが、このOKボタンとCancelボタンのどちらのボタンを押されたのか?を取得する方法を紹介します。 まず、buttonコ...
OpenCV2.2

【OpenCV2.2】サンプルプログラム(C++/CLI版)

先日、C言語によるOpenCVのサンプルプログラムについては、 【OpenCV2.2】新規プロジェクトの作成方法(C言語版) のページにて紹介しましたが、C言語だとウィンドウの作成やマウスイベント処理などが、少々面倒です。 そこで、.NET...
OpenCV

【OpenCV】IplImageから.NETのBitmapへ変換

OpenCVのプログラムを作っていると、OpenCV用のGUI(highgui)はかなり物足りなく、ウィンドウや表示まわりは.NETに任せたいので、OpenCVのIplImageから.NET(C++/CLI)のBitmapへ変換すると、簡単...
C++/CLI

【C++/CLI】画像の拡大縮小表示(簡易版)

C++/CLIで簡単にできる画像の拡大縮小表示を紹介します。 今回、作成したプログラムはこんな感じ↓です。 このサンプルプログラムはこちら SimpleZoomImage.zip (VisualStudio2005 Express Edti...
C++/CLI

【C++/CLI】8Bitモノクロのカラーパレット設定方法

モノクロ8Bitの画像を新規に作成する場合の、モノクロのカラーパレットは、以下のように作成します。 //8BitのBitmap作成 Bitmap^ bmp = gcnew Bitmap(pictureBox1->Width, picture...
C++/CLI

【C++/CLI】System::String^からchar*へ変換

アンマネージのC言語で作られたライブラリなどへ.NETのプログラム(マネージ)から文字列を渡す場合、System::String^からchar*へ変換する必要があります。 この場合、 System::Runtime::InteropServ...
C++/CLI

【C++/CLI】新しくウィンドウを開く/閉じる

例えば、Form1からForm2というフォームを表示する場合は、 モーダル表示 表示したウィンドウしか操作できないウィンドウを開く #include "Form2.h" (中略) Form2^ frm = gcnew Form2(); //...
Visual Studio

Visual Studioのツールボックスのアイコン表示がおかしくなった場合

Visual Studioを使っていると、なぜか途中でツールバーのアイコンがこんな感じ↓ でおかしくなる場合があります。 でも、ちゃんと復帰方法もあります。 復帰方法 ツールボックスのウィンドウ上で右ボタン ↓ 「ツールボックスのリセット」...
C++/CLI

【C++/CLI】マウスイベント処理

マウスイベント(マウスをクリック、ダブルクリックなど)の処理を追加するには、イベント処理を行うオブジェクト(ピクチャボックスやボタンなど)を選択した状態でイベントのプロパティウィンドウを表示し、イベント処理の文字の部分をダブルクリックします...
C++/CLI

インデックス付きのピクセル形式をもつイメージとは?

System::Drawing::GraphicsクラスのFromImageメソッドやSystem::Drawing::BitmapクラスのSetPixel、GetPixelメソッドで、モノクロの画像データを指定すると 追加情報: インデッ...
C++/CLI

【C++/CLI】メニューを付ける

新規プロジェクトの作成のページでは、何もしないだたのウィンドウ表示のプログラムを作成しましたが、このウィンドウにメニューを付けたいと思います。 と、その前に簡単にVisualStudioの操作説明をしたいと思います。 フォーム(ウィンドウ)...