Windowsプログラムを10倍簡単に作る
Windowsプログラムを10倍簡単に作る
目次
C/C++コンパイラについて …… 9
付属ディスクについて …… 9
本文表記について …… 10
第1部 Windowsプログラミングの常識を覆す! …… 11
第1章 WindowsはどんなOSか …… 12
- いまどんなプログラミングをすればよいのか
プログラミングの選択肢
インターネットの世の中
コマンド・ラインでC/C++を
- Windowsプログラミングに関する不安
プログラム資産が活かせるのか?
数倍手間が掛かるプログラムしか作れないのか?
main関数も使えないのか?
- ユーザー・インタフェースより中味
誰でも使えるは誰が使ってもぱっとしない?
パソコンの面白みとは
誰でも使える≠使いやすい
ファイルとディレクトリ
重要なカレント・ディレクトリ
コマンドはデータ中心、GUI はソフト中心
- コマンド・ウィンドウの使い方
MS-DOSプロンプト・アイコンのショートカットの作成
コマンド・ウィンドウの呼び名いろいろ
コンソールの語源
コマンド・ウィンドウは無限の可能性を秘めた窓
- Windows95/98で何ができるようになったか?
Windows95/98で改善された点
malloc関数は期待以上の成績
WindowsNTの特徴
フルスクリーンMS-DOSプロンプト
プログラム実行中のMS-DOSウィンドウ
- Windowsプログラムの種類
- Win32 APIとは何か?
ルーチン群API
Win APIの種類
- Win32 APIのマニュアル
紙の説明書は付属していない
関数だけでも2000個ある
- Windowsではmain関数がない?
mainでなくWinMainになった訳
今となっては困るWinMainの存在
- Windowsプログラミングの問題点
どこから手を付けていいの分からない
いまさら今までどおりのプログラムは作れない
実は大通りが一本走っている
第2章 Windowsコンパイラ
…… 31
- Windows用 32bit C/C++コンパイラの種類
Visual C++(マイクロソフト(株))
Borland C++Builder(インプライズ(株))
Watcom C/C++((株)ソフトボード)
- Windows用コマンドライン・コンパイラ
IDEしかないコンパイラもある
C/C++コマンドライン・コンパイラ一覧
- 失敗しないWindowsコンパイラ選び
非GUIプログラムのコンパイル
使いたい環境で動かなければ用をなさない
コンパイラのバグとの付き合いはいつまでも
こんな Windows用コンパイラが欲しい
- Windowsプログラムのコンパイルの仕方
コンパイラのインストール
Visual C++ のコンパイル
Watcom C/C++ のコンパイル
Borland C++Builder のコンパイル
- Win32とダイナミックリンク・ライブラリ
同じソフトでもウィンドウのデザインが異なる訳
- Win32とインポート・ライブラリ
第3章 Windowsプログラム解析 …… 48
- WinMain関数を解体する
C言語なのになぜ PASCAL か?
HINSTANCE型とLPSTR型
どんな引数が入力されるのか?
lpszCmdLine引数
nCmdShow引数
hinstPrevious引数 あるいは hPrevInstance引数
hinstCurrent引数 あるいは hInstance引数
- main関数でもウィンドウが開ける!
main関数でウィンドウ開くプログラム
実行結果に違いはあるか
- Windowsの限界と将来
アプリケーションが OS の肩代わりをしている?
Windows95/98 はまだまだ半人前
本書は解決策を提示する
第4章 Win32プログラミング技法 …… 68
- Windowsプログラムの仕組み
- 10倍簡単にプログラムを作れる原理
ウィンドウの重なりをどう処理するか
プログラムの部品化
- Windows95/98プログラミングの可能性
第2部 C++によるWindows95拡張プログラミング …… 73
グラフィックス・プログラムの移植
Windowsの解像度と色数
ソース・レベル・リンク・システムによるプログラムの部品化
ソース・レベル・リンク・システムの方法
ソース・レベル・リンク・システムの構築
プログラム例のコンパイル方法
第1章 ウィンドウ初期化 …… 74
ウィンドウを開き保持する 画面初期化関数 screen_int
ウィンドウを開く グラフィックス初期化関数 gint(gint_1.f) 最小版
画面保持可能なウィンドウを開く グラフィックス初期化関数 gint(gint_2.f) 画面自動保存版
移動可能なウィンドウを開く グラフィックス初期化関数 gint(gint_3.f) 移動可能版
サイズ可変のウィンドウを開く グラフィックス初期化関数 gint(gint_4.f) サイズ可変最小最大化可能版
スクロール可能なウィンドウを開く グラフィックス初期化関数 gint(gint.f) スクロール版
第2章 色 管 理 …… 129
色番号のモードを設定する 色番号モード設定関数 color_mode_set
色番号をフルカラー値に変換する 色番号フルカラー変換関数 cnum_crf
フルカラー値から色番号に変換する フルカラー色番号変換関数 crf_cnum
第3章 ウィンドウ支援 …… 138
画面表示設定を切り替える 画面表示設定関数 gdisp
最大画面のXサイズを調べる 最大画面Xサイズ関数 get_max_screen_x
最大画面のYサイズを調べる 最大画面Yサイズ関数 get_max_screen_y
ウィンドウのXサイズを調べる ウィンドウXサイズ関数 getwinx
ウィンドウのYサイズを調べる ウィンドウYサイズ関数 getwiny
現在画面のXサイズを調べる 現在画面Xサイズ関数 getscreenx
現在画面のYサイズを調べる 現在画面Yサイズ関数 getscreeny
X軸Y軸最大値を調べる X軸Y軸最大値マクロ XMAX, YMAX
第4章 画面管理 …… 154
描画領域を限定する 描画領域限定関数 view
解像度の向上を実現する 基本画面設定関数 base_screen
画面を消去する 画面消去関数 gcls
限定描画領域のみを消去する 限定描画領域消去関数 vgcls
第5章 描 画 …… 166
ウィンドウに点を打つ 点関数 pset
排他的論理和で点を打つ 論理差点関数 psetXOR
論理和で点を打つ 論理和点関数 psetOR
座標点の色を読み出す 色読出関数 point
ウィンドウに直線を引く 線関数 line
排他的論理和で直線を引く 論理差線関数 lineXOR
ウィンドウに長方形を描く 長方形関数 rectangle
排他的論理和で長方形を描く 論理差長方形関数 rectangleXOR
長方形の範囲を塗り潰す 長方形塗潰関数 rectfill
長方形を排他的論理和で塗り潰す 論理差長方形塗潰関数 rectfillXOR
ウィンドウに円を描く 円関数 circle
ウィンドウに楕円を描く 楕円関数 ellipse
境界色の範囲に塗装色で色を塗る 塗装関数 paint
文字列を拡大表示する 文字列拡大関数 symbol
第6章 キー入力と時間待ち …… 218
1文字入力待ちをする 1文字入力待関数 getkey
入力待ちにならないキー読み取り キー読取関数 keyread
一定時間プログラムを停止させる 時間待関数 wait
画面を保存し時間待ちをする 画面保存時間待関数 gwait
Win32メッセージマクロ名を得る Win32メッセージ関数 win32message
索 引 …… 238
続刊『Windowsプログラムを10倍強力に作る[95/98/NT対応C++版]』目次