トップページ > 過去ログ > 記事閲覧
windowsフォームアプリケーションの基礎
名前:dal 日時: 2008/09/06 18:20

DxLibで作っているゲームのデータを VC++2008EEのwindowsフォームアプリケーションでいじるツールを 作りたいのですが、いわゆるマネージ形式というやつなんでしょうか、 フォームアプリケーションの扱いが全くわからないので教えてください。 やりたいことを念のため具体的に書きます。 (質問内容は一番下にまとめてあります) たとえば、ゲーム本体には struct itemdata{ //アイテムデータの構造体 char itemName[24]; //アイテムの名前(12文字ぐらいまで) int HPkaihukuryo; //アイテムの回復量 int MPkaihukuryo; }items[3];//アイテム3種類 のような構造体があって、以下のような内容の \t切りテキストファイル(名前 \t HP回復量 \t MP回復量 \n) ポーション 30 0 ハイポーション 50 0 エーテル 0 30 から、FileRead_openやFileRead_getsを使って アイテムのデータを読み込んでいます。 このアイテムデータのテキストファイルを フォームアプリケーションで読み込んで書き換えるツールを作りたいのですが、 フォームアプリケーションの仕様がさっぱりわかりません。 ////////////// やりたいことや、やりたいけどできていないことは、  ・ファイルは分割せず、Form1.hに全部収めたい  ・classは極力使わないで作りたい(C++ができないから)  ・"読み込み"ボタン、"アイテムリスト"コンボボックス等を作り   どのコントロールからでもアクセス可能なグローバル変数的な   itemdataの構造体を宣言、定義したい。  ・ゲーム本体で使っている、FileRead_open等でファイルを読み込む関数や   fprintfでファイルに書き込む関数を   そのままコピペで使って、"読み込み"ボタンを押した時にその関数に   行かせたいが、どこにその関数を書けばいいかわからない   (読み込みボタンにdatayomi();などと書いて関数に飛ばしたい)  ・itemdataの構造体のcharの配列型の文字列を   コントロールのテキストボックスやコンボボックスに表示させたい  ・回復量の数値などをフォームアプリケーションで変更して   テキストファイルに保存したい です。質問内容は、 1.どのコントロールからでもアクセスできるようにするためには  Form1.hのどこで構造体を宣言、定義すればいいのかわからない  (グローバル変数になりそうなとこでやるとエラーが出たり。) 2."読み込み"ボタンを押した時に、int datayomi(void)関数に飛ばしたいが  ボタンから飛べるその関数をForm1.hのどこに書いたらいいかわからない。 3. char型の配列の文字列やint型の数字を、  フォームアプリケーションのテキストやコンボボックスに  表示するにはどうすればいいのか 4.fprintfは使えるとして、FileRead_open等の  DxLibの関数を使うにはどうすればいいのか 5.ゲーム中で鳴らしてるmp3のファイルをフォームアプリケーションで  DxLibなみに手軽に鳴らしたいがどういう関数を使えば簡単に鳴らますか? よろしくお願いします。

Page: 1 |

Re: windowsフォームアプリケーションの基礎 ( No.1 )
名前:管理人 日時:2008/09/07 23:38

Windowsフォームアプリケーションは使ったことが無いので殆どわかりませんが、 とりあえずDXライブラリは WinMain から始まる部分からプログラムを組み始める Win32 アプリケーション以外では使うことは出来ませんので、残念ながら ゲーム本体のコードを共有することは出来ません。 (ただ、FileRead_open 等は fopen 関数とほぼ同じなので、#define と #ifdef の 組み合わせでロード部分を共有化することは出来ると思います) その関係で、mp3 をフォームアプリケーション上で手軽に鳴らす、といったこともできません。

Page: 1 |