DialogC
C言語ダイアログベースプログラミング環境
〜〜C言語入門用〜〜


ダウンロード

「Example.lzh」
Visual C++ 6.0 のプロジェクト一式です。


DialogCとは

 DialogCはC言語でダイアログベースのプログラムを作成する環境を提供します。
 プログラミングの学習を始めるのに、いきなりC++言語や、他のオブジェクト指向言語から始めるのもいいでしょうが、やはりまずはC言語から始めてるのも良い方法です。
 しかしC言語でウィンドウを使ってGUIを持つプログラムを書くことは、できないことはないにしろ、いろいろ厄介な面があります。特に初心者にとっては簡単ではないでしょう。
 かと言って、コマンドラインベースのプログラムを扱うのも、初心者にはかえって厄介な面もあります。
 なんと言ってもGUIが蔓延している昨今では、コマンドラインベースでは見劣りし、学習意欲も湧かないというものでしょう。

 そこで、DialogCではC言語でダイアログベースのプログラムを書ける環境を提供します。これを使えば、通常初心者が書くC言語プログラムと同じ感覚で、ダイアログベースのプログラムを作成できます。
 決して派手なGUIを書くことはできませんが、少しでも楽しくプログラミングが上達できれば幸いです。


作業のはじめ方

 「DialogC」を使って作業をはじめるにはいくつかの方法があります。
 一番簡単なのはサンプルプロジェクト「Example」一式をダウンロードし、適当なフォルダに解凍し、そこから作業を始めるといいでしょう。
 「Example」のオリジナルは残しておき、新しいプログラムを作るごとに、違う名前のフォルダにコピーするといいでしょう。
 「Example」にはあとで示すように、簡単なダイアログと、簡単なmain( )関数が用意されています。プログラムはこのmain( )関数を変更することから始めるといいでしょう。


Exampleの説明

ダイアログボックス

 「Example」には予め次のようなダイアログボックスが用意されています。当面はこのダイアログを使用してプログラムを作成していきます。




ソースファイル

 「Example」には「main.c」に、次のような空のプログラムが用意されています。当面はこのファイルに追加してプログラムを追加していきます。

#include "dialogc.h"
#include "resource.h"

void main(void)
{
xprintf(IDC_STATIC_TEXT, "Static text");
xprintf(IDC_EDIT_BOX, "Edit box");
if(waitbutton()!=IDC_EXECUTE_BTN);

}



関数仕様−1

void main(void);

 プログラムは、このmain( )関数からはじめます。
 通常のmain( )関数と違い、引数も戻り値もありません。

void xprintf(int id, const char* fmt, ...);

 コントロールへprintf( )と同じような感じで文字を表示します。
 idにはコントロールのIDを渡します。
 fmt以下にはprintf( )と同じように書式指定文字列と、それに対応した引数を渡します。

int waitbutton(void);

 ボタンが押されるのを待ちます。
 この関数は呼び出すとすぐには戻らず、何れかのボタンが押されると戻ります。
 戻り値には、押されたボタンのIDが返ります。

size_t gettext(int id, char *s, size_t n);

 コントロールに入力された文字を取り込みます。
 fgets( )とよく似ていますが、1行単位ではなくコントロールに入力された文字全てを取り込みます。
 idにはコントロールのIDを渡します。
 sには文字列を取り込むための領域のアドレスを、nにはそのサイズを渡します。
 この関数は、nのサイズを超えては文字を取り込みません。


Exercise

Exercise-1

@プログラムが起動したときに、スタティックテキストに「Hello」と表示する。
AExecute」ボタンが押されると、エディットボックスに入力された文字が、スタティックテキストに表示されるようにする。

Exercise-2

@プログラムが起動したときに、スタティックテキストに「0」を表示する。
AExecute」ボタンが押されるたびに、スタティックテキストの数値がインクリメント(1ずつ足される)するようにする。

その他のExercise

利用規約・免責

 ここに公開しているプログラム、およびドキュメントはすべて私の著作物です。
 自由にご使用して頂いて結構ですが、私は何ら責任を負いません。
 自己の責任においてご使用ください。
 再配布はオリジナルのパッケージにままを希望します。


Copyright(C)2004上田義明
last update 2004.12.12
ysfactory@fiberbit.net