• ベストアンサー

OSXでC言語!!

OSXのC言語で Windowsとかボタンとかを表示するにはどうすれば良いんですか? XcodeのGUIでボタンとかを付けられるんですが どのプロジェクトを使えばいいか分かりません C言語でかけるプロジェクトはcocoa? carbon? そのへんもよく分かりません 質問したいのは ウインドウとボタンをGUIを使わないで表示する コードと C言語でかけるプロジェクトです 教えて下さいお願いします

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

  • ベストアンサー
回答No.2

> ウインドウ表示などボタンなどは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

その他の回答 (1)

回答No.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
noname#35759
質問者

補足

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

関連するQ&A

専門家に質問してみよう