前提・実現したいこと
WinAPIの基礎について参考書で見てきましたがVisualStudioのプロパティやPhotoshopのパレットなど複数のウィンドウ(子ウィンドウというんでしょうか?)を作成、扱うための実践的なコーディングはどのようなところを参考にすればいいのでしょうか?実際のコードを見ることになりますかね?
補足情報(FW/ツールのバージョンなど)
開発環境
VisualStudio 2017 Community
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答5件
0
VC++でやりたいのであれば、MFC(Microsoft Foundation Classライブラリ)を使うという手もあります。
新しいプロジェクトの作成、でVisual C++のMFCアプリケーションが選択可能であれば、インストールされていると思います(VS 2017だとMFCは標準でインストールされないらしいです)。
MFCを使った開発についてはまだネット上に情報がたくさんありますので、(多少古い情報だと思いますが)参考になると思います。MFCは大ざっぱに言うとWin32APIのよく使う機能をクラスライブラリ化したものですが、完全にWin32APIをカバーしているわけではないので、場合によってはWin32APIを直接使用する必要があったりして、質問者さんが学ばれてきたAPIの知識も生かせると思います。
投稿2018/03/21 01:59
総合スコア3041
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ベストアンサー
VSに関して言えばUIは.NET Frameworkで作られていてプロパティの部分は.NETにそういうコントロールがあるので簡単に作れます。(VS用に作ったものを標準に加えた、というほうが正しいかもしれませんが)
これをWinAPIだけで作るとなるとListViewをうまく使うか完全に自作することになり結構大変だと思います。
Photoshopは知りませんが息の長いアプリですし独自のGUIが多いですから自前で作ってるんじゃないかと思います。
Windowsのウィンドウシステムは.NETやUWPに移行しようとしているのでWinAPIは下回りの扱いでかなり前時代的なまま止まっており、自動レイアウトシステムなどがありません。
実践的なコーディングはウィンドウのリサイズ(WM_SIZE)が発生したら子ウィンドウをガシガシと自前でレイアウトしていくか、自前でレイアウトシステムを作るか、外部のものを使うことになります。
自前で作ると1つ1つは簡単ですが結構手間がかかります。
ウィンドウのレイアウトに関して詳しくないのなら、
0. C#などでWinFormを使ったアプリを作ってみる
0. WinFormのままレイアウトの計算を自前でやってみる
0. WinAPIで同じレイアウトを作る
とやってみると結構良い勉強になると思います。
マルチドキュメントのことを言われているのであればMDIで調べるといいと思います。
投稿2018/03/20 17:04
総合スコア2850
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/21 14:30
0
ちょっと具体的なイメージが湧かないのですが、ドッキングウィンドウのことでしょうか?
マイクロソフトも実践的(実用的)なアプリを作るためのヒントを提供してくれていますので、まずは目を通してみると良いでしょう。
MFCをいじったことがないのならこちらから。
Windows APIの詳細な説明が欲しいならこちらも。
投稿2018/03/21 12:00
総合スコア5938
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
こんにちは。
実践的なコーディングはどのようなところを参考にすればいいのでしょうか?実際のコードを見ることになりますかね?
「Windows API」で検索すると多数の解説ページがでてきますが、それらにご希望の情報がないとすると、実際のコードを探すしか無いと思います。GUIフレームワークが独自に用意しているようなGUI部品の作り方の解説書や解説サイトがそうそうあるとは思えません。需要が少なくて見る人があまりいないでしょうから。
ソースは、Qt等の目的のGUI部品をサポートしているGUI開発用フレームワークには存在していると思います。
Qtはマルチプラットフォームですので、ある程度抽象化されている筈ですから読むのに苦労するかも知れませんが、ソースは公開されています。
Windows専用のそのようなツールでソースが公開されているものがあればよいのですが、.NETもソース非公開ですね。Borland C++Builderもソース非公開です。Windows専用のGUI開発ツールでソース公開されているものの心当たりは私にはないです。
投稿2018/03/21 02:18
総合スコア23272
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。