FrontPage 新規 編集 検索 一覧 ヘルプ

実践HighCプログラミングGUI入門編

[カテゴリ:TOWNS][カテゴリ:GUI入門]

実践High Cプログラミング GUI入門編

これは何かというと、「水城 源」(みずき はじめ)が昔出版した本の原稿です。実際にはこの上に加筆修正が行われて書籍となりましたので書籍とは内容が異なりますが、それでもまぁ基本的な内容は変わりません。作者の許可を得て、ここに原稿を掲載します。

もともとは書籍ですから、文章以外に図版やら写真が入っていましたが、さすがにそれまでは載せきれないので、あくまで文章のみを中心にまとめておきます。

そうそう、ただのベタテキストをHTML化するのって結構大変なんですよ。ただテキストを並べればいいってものでもないですしね。

いまはまだ全文を掲載しきれないので、一部をここに。


1章 "マウス ポンで、 ウィンドウがポップアップ"するソフトを作りたい

本書で解説する「GUI(グラフィカルユーザーインタフェース)ライブラリ」とはどのようなものでしょうか。具体的な解説に入る前に、GUIライブラリが収録されている『HighC マルチメディアキット』の位置づけや構成、従来手法とGUIライブラリ利用時のプログラミング感覚の違いなどの概略を説明します。合わせて、本書の全体構成や事前に行ってもらいたい準備事項を簡単にまとめておきます。

2章 GUIライブラリって何者?

前章でも簡単に触れたように、従来のコンソールベー_スとGUIベースのプログラミングとではプログラミングの感覚がまるで違います。この章では、GUIの利点やGUIベースのソフトの特徴、GUIライブラリを使うメリット、部品間関係やリソース/メッセージ/イベントといった特有の概念などを説明し、GUIライブラリを利用するための「頭の切り換え」(パラダイムシフト)を手助けします。

3章 器作りはGUIツールにお任せ

これより、待ちに待ったプログラミングに入ります。まず最初にGUIツールの使い方を押さえておきましょう。GUIライブラリでのプログラミングは、GUIツールを使うことから始まります。どういう流れでどのツールを使っていくのか、ざっと見てみましょう。

4章 器に魂を入れるのがプログラミング〜呼び出し関数の基本的な使い方〜

GUIレイアウタで部品を配置し、GUIジェネレータでCソースを生成すると、プログラミングはついに第2段階へと突入します。プログラミングの本命、呼び出し関数の中をいかにして組み立てていくかを、サンプルプログラムを作りながら見ていきましょう。

5章 もっと高度なGUIプログラムを作ろう〜マルチウィンドウへの道〜

次に取り組むのは、マルチウィンドウによって複数表示できるグラフィックビュアー、'GVIEW'です(GuiのVIEWerでGVIEW)。

今回もまたどのようなプログラムにするか、機能を箇条書きで簡単にまとめてみます。

  1. マルチウィンドウによって複数のグラフィックの表示を行う(最大10枚)
  2. 画面を拡大して表示することができる(拡大する大きさを選択可能)
  3. 表示できるデータの形式はTIFF※とJPEG※のみ
  4. 表示できるTIFFデータの色数は32,768色(16ビットカラー)のみに限定する

かなりシンプルなプログラムにしています。とくに4.ではかなり機能限定しているように見えますが、事実そのとおりです。ほかの色まで対応するとデータの読み込み処理が複雑になってしまうので、あえて機能を押さえることにしました。

完成したグラフィックビュアーのサンプルプログラムは、GVIEWディレクトリの中のSRCディレクトリにソースファイルが、GURディレクトリにはリソースファイルがあります。完成版の画面はFig.5-1のようになります。

6章 GUIプログラミングの”壁”対策集

GUIプログラミングは必ずしも簡単なものではあるとはいえません。ある程度プログラミングのコツが飲み込めてきても、新たな問題があなたの目の前に立ちはだかることがあるでしょう。本章では、プログラマがGUIライブラリを使ってプログラミングを行う際に、壁となって目の前に立ちはだかるであろうと思われる、4つのポイントに絞って解説します。既に壁にぶつかって悩んでいる方はもちろんのこと、まだ壁にぶつかっていない方も一読して、記憶の片隅に留めておくと、いずれ役に立つかもしれません。


補足

この記述は1999年当時のものです。

今更FM-TOWNSのプログラムかよって話は大いにある訳なんですが、まぁそれはそれ。ネタがない奴の苦肉の策ってコトでひとつ。

ちなみに、GUI入門/構成案には、執筆当時の作業メモとか構成案とかがあったりする。

 最終更新時間:2005年06月03日 01時09分55秒