こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

OSXでC言語!!

OSXのC言語で
Windowsとかボタンとかを表示するにはどうすれば良いんですか?

XcodeのGUIでボタンとかを付けられるんですが
どのプロジェクトを使えばいいか分かりません
C言語でかけるプロジェクトはcocoa? carbon?
そのへんもよく分かりません

質問したいのは ウインドウとボタンをGUIを使わないで表示する
コードと

C言語でかけるプロジェクトです
教えて下さいお願いします

投稿日時 - 2006-08-21 18:26:22

QNo.2353321

すぐに回答ほしいです

質問者が選んだベストアンサー

> ウインドウ表示などボタンなどはXcodeのcarbonを使えば良いってことですか?
そうです。
Carbon も Cocoa もMacOS が提供する様々な機能を使うための道具箱で、ウインドウやボタンをつくるのもその内に含まれます。

> carbonの中でC言語を使って色々カスタムするってことですか?
そうです。CarbonでもCocoaでも、ソースコードを記述することでウインドウでもボタンでも好きなようにいじれます。たとえばウインドウを作るのに、CarbonではCreateNewWindowという関数があります。プログラム内で
status = CreateNewWindow( class, attribute, rect, &window);
と書くと、変数class(ウインドウの種類)や変数attribute(ウインドウの動作の仕方)や変数rect(ウインドウの大きさ)でカスタマイズしたウインドウへのリファレンス(ポインタ)が変数windowに入れられる、というもので、後々その変数windowをつかって、作ったウインドウを表示したり、違う大きさにしたりなど操作したりします。
一方で、ご存知のように、インターフェイスを作るのにはInterfaceBuilderを使う方法もあります。こちらで作ったウインドウやボタン等をコードからいじる事もできます。

まずひとつやってみてください。No.1で示したやり方でプロジェクトをつくり、何もいじらずに「ビルドして実行」すると、ウインドウが1つといくつかのメニュー項目が出るだけのアプリケーションができあがりますが、それらのインターフェイス部品はInterfaceBuilderでつくったもの(main.nibというリソース)をロードして表示しています。ソースを眺めたりするとなにがどう関連しているのかがわかるかもしれません。


と、ここまで書いてはみましたが、今からCarbonを使い始めるのは、めんどくささと将来性を考えると、止めた方がいいでしょう。CarbonはもともとOS9以前からのアプリケーションをスムーズにOSXに移植するためにあるもので、OSXでの標準的なフレームワークはObjective-Cで書かれたCocoaの方なんです。C言語だけでやることを考えるとCarbonしかないんですが、まずはCocoaのほうに入門されることを強くお勧めします。Cocoaでも、Objective-Cをつかってソースコードからウインドウなどをいじるなどのことはもちろんできます。

本もいろいろ出てますので検索してみてください。
一例
http://www.amazon.co.jp/gp/product/4839918805/ref=pd_ecc_rvi_2/503-9616238-4594302?ie=UTF8

Cocoaのサイト
http://www.big.or.jp/~crane/cocoa/

Appleの日本語開発情報
http://developer.apple.com/jp/documentation/japanese.html

投稿日時 - 2006-08-23 17:15:41

このQ&Aは役に立ちましたか?

4人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

コードは示せませんので、入り口だけ紹介します。

C言語でGUIを記述するにはCarbonフレームワークをつかいます。

プロジェクトのテンプレートは、「新規プロジェクト…」メニューを選んで出てくるプロジェクト選択ウインドウの、"Application"群のなかの"Carbon Application"を使います。

参考URLはユーザーインターフェイスのAPIリファレンスですが、Carbon自体が初めての場合は以下のサイトあたりから始めるのがいいと思います。
http://developer.apple.com/referencelibrary/GettingStarted/GS_Carbon/index.html


ただ、いまからOSXでいろいろやろうとする場合,Objective-CとCocoaフレームワークを利用した方がなにかと楽だと思います。資料もそちらの方が見つけやすいですし。C言語がわかっていれば、Objective-C自体の習得はそれほど難しくないですし、CとObjective-Cを混ぜて使うこともできます。ちょっと遠回りなようでも、Cocoa環境のほうが結局は速く目的のものを作れるようになるでしょう。

参考URL:http://developer.apple.com/reference/Carbon/idxHumanInterfaceToolbox-date.html

投稿日時 - 2006-08-22 19:48:13

補足

それとC言語の本を持ってるんですが
変数とかポインタとかしか載ってませんが
ウインドウ表示などボタンなどはXcodeのcarbonを使えば良いってことですか?
carbonの中でC言語を使って色々カスタムするってことですか?

投稿日時 - 2006-08-23 13:45:11

あなたにオススメの質問