サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
災害への備え
www.nitoyon.com
詳細・ブレークポイント 前回、ブレークポイントを設定する方法を説明しました。このページでは、詳細なブレークポイントの設定方法について解説します。 メニューの 『編集→ブレークポイント』 か Alt + F9 キーを押すと、次のような 『ブレークポイント』ダイアログが表示されます。 ブレークポイントダイアログ 『ブレークポイント』ダイアログは、『位置』 『データ』 『メッセージ』 の3つのタブと、『ブレークポイント』一覧から成り立っています。ブレークポイントは、それぞれ『位置』 『データ』 『メッセージ』 のいずれかに対するブレークポイントです。前回設定した単純なブレークポイントは、位置に対するブレークポイントでした。では早速、それぞれのブレークポイントについて見ていきましょう。 位置に対するブレークポイント 位置に対するブレークポイントは、行番号もしくは関数名で指定することができます。行番
ウインドウプロシージャの違い Win32 SDK アプリケーションを書くにあたって、ウインドウプロシージャの実装は必要不可欠です。しかし、ウインドウプロシージャの実装方法はどのようなウインドウであるかによって違ってきます。わかりやすいところで行くと、ダイアログ プロシージャと一般的なウインドウプロシージャでは、戻り値の値を変えなければなりません。 ここでは、そのような違いをまとめてみたいと思います。 一般的なウインドウ プロシージャ プロトタイプ宣言 LRESULT CALLBACK WindowProc(HWND hWnd,UINT uiMsg,WPARAM wParam,LPARAM lParam); 戻り値 処理した場合 処理の結果を返す。通常は 0(例外あり)。 処理しなかった場合 DefWindowProc(hWnd,uiMsg,wParam,lParam); の戻り値 ダイアロ
C++の構造体 C++においては、次のようにして構造体を定義する。特に、末尾のセミコロン(;)は忘れがちなので注意が必要。 // 定義 struct Point{ int x ; int y ; } ; 上のように定義すれば、Point型の変数を作成することができる。 Point point ; // C言語ではエラーになることに注意 struct Point point2 ; // これでもOK point.x = 100 ; point.y = 200 ; printf("x : %d\n", point.x); Point* p = &point ; printf("x : %d\n", p->x); 構造体は、自分自身へのポインタをメンバとして持つことができる。ただし、自分自身をオブジェクトとして持つことはできない。これは、構造体にはサイズ不明のオブジェクトをメンバとしては持てない
概要:プロジェクトとは? プロジェクトの中には、実行ファイルを作るために必要なファイルが含まれています。開発者は実行ファイルを作成するために必要なソースファイルやヘッダファイル、(必要な場合は)アイコン・ビットマップ・リソースファイルなどをプロジェクトの中に追加する必要があります。 また、1つのプロジェクトからは、1つの実行ファイルしか作成できません。(ここで言う実行ファイルとは、Win32アプリケーションやMFCによって作成したアプリケーション、DLLファイルなど、VC++6.0を使って作成できるファイルのことです。) さて、まとめてみるとこんな感じです。分かりましたか? 「その位、分かってるわ!」っていう人は、このページのこれ以降は読まなくて大丈夫です。訳分からなくても安心してください。これから詳しく説明していきます。上の説明で分かる人はごく一部だと思います。 ここからは、VC++6.
どんなウインドウか 特定のウインドウを選択するようなインターフェースが必要になることがある。このときによく用いられるのが SPY++ で用いられる次のようなインターフェースがあります。 SPY++のウインドウ選択インターフェース これを自分のアプリケーションでもやってみよう作戦です。 ダウンロード select_window.lzh(14.2KB) からどうぞ。ご自由に使ってやってください。サンプルの使用に関しての詳細は このサイトについて をご覧ください。 実装方法 窓アイコンやカーソルは、VC++ に付属している SPY++ からパクってきました。 スタティックウインドウのサブクラス化 アイコン上でクリックすると、マウスをキャプチャーして、マウスが動くたびに反応する必要があります。これをするためにはデフォルトの static ウインドウを使うだけではだめなので、アイコンを表示している
このページの内容 『アクティブプロジェクト』 と 『構成』 という概念について説明します。例によって、一番最初にまとめを書いちゃいます。まとめを見て分かる人は、以下の説明を読まなくてよいってことで。 アクティブプロジェクト ビルドするプロジェクトをアクティブプロジェクトに設定する 構成 ビルドの方法を記述した設定。1つのプロジェクトに複数の構成があるのが普通 アクティブプロジェクトとは プロジェクトって何!?では、プロジェクトのビルド方法についても軽く解説しました。ビルドとは、プロジェクトから実行ファイルを作成することでしたね。 しかし、現在、ワークスペースには 『helloworld』 と 『test』 という2つのプロジェクトがあります。このときにVC++からビルドを実行すると、VC++はどちらのプロジェクトをビルドしたらよいのか迷ってしまいます。 ここで出てくるのが 『アクティブプロ
ボタンコントロールとは ボタンコントロールは、次のような用途に使います。 押したときに、すぐに何らかの動作を開始する。 ボタンには、通常のボタンとデフォルトプッシュボタンの2種類があります。ダイアログにデフォルトプッシュボタンがあるときは、フォーカスがどのコントロールにあったとしても、Enter キーを押すとデフォルトプッシュボタンを押したものとして処理されます。デフォルトプッシュボタンは、たのボタンに比べて枠が太く描画されるので簡単に判別できるでしょう(下図参照)。なお、デフォルトプッシュボタンのこの機能は、ダイアログでしか機能しないので注意して下さい。 デフォルトプッシュボタンとプッシュボタン 作成方法 CreateWindow で作成する方法 CreateWindow( "button", // スタティックコントロールのクラス名 "OK", // 表示する文字列 BS_PUSHBU
デバッガは万能ではない 『デバッガ』 と聞くと、デバッグを自動化してくれるツールのように思えてしまうかもしれません。デバッガは 『ここと、ここに、こんなバグがあるよー』 などと教えてくれそうです。デバッガを起動してカップラーメンを作ると、食べれる頃には全てのバグが修正されていそうです。 ところが実際は違います。デバッグするのはあくまで人間です。デバッガはデバッグ効率を上げるためのツールです。1行ずつアプリケーションを実行しながら、各変数の値を調べたりすることはできますが、異常があるかどうかを調べるのは人間であるところに注意して下さい。 ブレークポイントを設定してみよう デバッグ中では、プログラムを一時中断して、そのときの状態を調査したい場合があります。このような場合、ブレークポイントを設定するのが手っ取り早い方法です。 コンソールのデバッグ方法のページで使用したソースにブレークポイントを設
序文 最近なにかとはやりの XML。データの形式を XML にすると、なにかと喜ばれるかもしれないし、なによりも今風で自己満足できる。でも、めんどくさいんじゃないの? ノンノンノン。MSXML.dll っつーのを使えば、比較的簡単っぽい。 MSXML を C++ から使う方法を考えてみる。簡単じゃん、、えーっと、どういう関数があるのよ…と思ったら、MSXML は関数をエクスポートしていないみたい。じゃあ、どうやって使うかというと、MSXML は COM を使わなきゃダメらしい。そういや、一昔前に、時代は COM だ!とかって聞いたことあったっけ。 リンク 以下のページを読んだら完璧だ。たぶん。 http://www.utj.co.jp/XML/DEV/dom/dxdom1_1.html http://www.s34.co.jp/cpptechdoc/article/xml/persist/
このページの内容 さて、今まで 『ビルド』 という言葉を使っていましたが、このページでは 『ビルド』 とは具体的に何をしているのかについて迫ってみたいと思います。ビルドの仕組みを分かってないと、VC++を使うにも支障が出ますし、デバッグ効率も落ちることになってしまいます。さけて通れない道なので、ぜひこの機会に学習してください。 いつものように一番最初にまとめてみます。今回のまとめは下の図です。今回はこの図の内容を説明していきます。 ビルドの流れ ビルド=コンパイル×ソースファイル数+リンク helloworldプロジェクトをビルドしたときの出力を再度掲載します。 ------------構成: helloworld - Win32 Release------------ リソースをコンパイル中... コンパイル中... StdAfx.cpp コンパイル中... helloworld.
多倍長とは シミュレーションなどで小数点を含む数値を扱うときは、fload か double を用いるのが普通ですが、double だと 1.7×10-308から 1.7×10308までしか表現できません。これより小さな値や大きな値を扱いたい場合はどうしたらよいでしょう。 そこで多倍長の登場です。数値を表わすために独自実装するのです。ここでは、C++ を使って実装してみました。 この多倍長ライブラリの特徴 シンプルさ。それだけです。 機能豊富なものが欲しい人はC++による多倍長計算ライブラリなど色々なものが公開されています。これらのライブラリでは、計算速度が早かったり、多倍長の sin , cos に対応していたり、とにかく機能豊富です。ただし、ソースが膨大なため、自分のプログラムに組み込むにはやや抵抗があります。 気軽に多倍長を使いたい人には、このライブラリが向いているでしょう。四則演算
ダウンロード ZIP.MP3 再生プラグイソ。(Winamp用) ZIP.MP3 を Winamp で再生するためのプラグイン。 MP3アルバムメーカー ZIP.MP3 を気軽に作成するアプリ。 にとしょーと 異色キーコンフィグアプリ。 小難しいこと VC++の使い方 Micrsoft Visual C++ を使いこなすための文章。もしくはメモ。 てっく煮 作ったものや技術関係のブログ。 自己紹介 自己紹介 (てっく煮について) 技術的な方面の自己紹介。
topics 2013/11/11 GitHub でソースコードを公開。 2003/04/03 ver 1.2.2 を公開。 2003/03/06 窓の杜の本日のお気に入りで紹介されました。 2003/02/09 ver 1.2.1 を公開。 概要 複数の MP3 ファイルを無圧縮 zip 形式で固めることで、CDアルバムをファイルとして保存することができます。この形式のファイルは、MP3 プレイヤーでそのまま聞くことができ、非常に便利です。このソフトはそんな zip.mp3 ファイルを簡単に作成することを目的としています。 固めたい MP3 ファイルをリストにドラッグアンドドロップして ZIP.MP3 ファイルを作成できます。また、ファイルの順番もソートはもちろん任意の順番に並び替えることができます。 スクリーンショット 起動直後 圧縮中のところ 設定ダイアログ 改変履歴・対応OSなど
エディットコントロールとは エディットコントロールは、次のような用途に使います。 編集可能な文字列を表示。 編集は出来ないが、選択・コピー可能な文字列を表示する。 パスワードの入力。入力した文字列が 『*』 で表示される。 具体例として下の図を見てください。これはファイルのプロパティーを見たときに出てくるダイアログですが、編集可能な文字列は上側のものです。白抜きで表示されており、ユーザーが文字列を編集することができます。下側のものは、編集はできませんが選択可能であり、コピーも可能です。スタティックコントロールとは、選択できない点が異なります。 エディットコントロールの使用例 作成方法 CreateWindow で作成する方法 CreateWindow( "edit", // スタティックコントロールのクラス名 "text is here.", // 表示する文字列 ES_LEFT | WS
リストビューとは リストビューのレポートスタイルは、エクスプローラーで「詳細」にしたときのやつです。アイテムの一覧を表示しつつ、その属性を見ることができます。 スタイル 構造体 使い方 - 操作編 基本的に、SendMessage ですべての操作を行えるのですが、ソースが読みにくくなるのでマクロが定義されています。ここでは、そのマクロを使った方法を紹介します。SendMessage を使ってやりたい人は、MSDN のマクロのヘルプを見て、対応するメッセージを送ってください。 注意点をあげておきます commctrl.h をインクルードするのを忘れないでください。 comctrl32.lib をリンクするのを忘れないでください。 InitCommonControls(); をプログラムのどこかで1度だけ呼ぶのを忘れないでください。 コラムを追加する LVCOLUMN lvcol; lvcol
概要 タスクトレイに常駐し、任意のアプリケーションでショートカットキーの設定を可能にすることができます。 「このソフト好きだけど、なんでショートカットキーの設定でねーんだよ!」そう思ったことありますか? もしあるなら、このソフトは便利でしょう♪ 「にとしょーと」は、あなたが普段使っているアプリケーションにショートカットキーを割り当てることができます。 複数のキー入力を登録できるマクロ機能を持ったソフトは相当数ありますが、アプリケーションごとに割り当てられるフリーウェアは、にとしょーとぐらいなもんです。 機能一覧 ショートカットは、メニュー選択などはもちろん、キーボードでできることならなんにでも割り当てられます。 キー入力自動記録機能を使えば、簡単にショートカット登録可能 どんなアプリケーションからでも実行できるグローバルキーも設定可能 改変履歴・対応OSなど readme.txtを参照して
目次 VC++プログラミングする際に、よく気になる内容を取り上げていきます。ある程度分かった人を対象にしています。リファレンスのページは、『ですます調』 ではなく 『である調』 で記述します。なんとなく、『である調』 な気分だったんですが、めっちゃえらそうです(汗) C/C++メモC/C++を書く上で忘れがちなポイントをまとめていく予定。ビルドエラー対処法VC++ でよく起こるビルドエラーに関して、『なぜ起こったのか』 『じゃあ、実際にどうしたらいいのか』 というポイントについて分かりやすくまとめたつもり。GUIリファレンスGUI パーツのリファレンス。あれをするにはどうするんだっけ、というのを HowTo 風にまとめていこうかな、と。
FAQ Q.頭出しがされない 次のことを確認せよ! in_mpg123.dll などの外部デコーダーを使っている。in_mp3.dll 推奨 VBR の MP3 ファイルが含まれている MP3 ファイル中の音楽に関係のないデータ(タグ情報など)のサイズが大きい(現在は曲の長さを ファイルサイズ÷ビットレートで算出しているだけです) Q.曲が変わったときに、リストが現在の曲をハイライトしていない ZIP.MP3プラグイソ。を導入した後に、shoutcastプラグインを導入するとそのような状況になるらしい(私の環境では未確認)。shoutcast プラグインからインストールするとよいようです。 Q.単曲リピートとアルバム内リピートはどうすればよい? ZIP.MP3ウインドウで右クリックをして表示されるメニューから選択してください。あ、曲名の上じゃないところで右クリックですよ。 Q.単曲リピート
はじめに 初心者には分かりにくい VC++ のビルドエラー。一応、エラー番号を MSDN に入力すれば解説は出てくるが、どうにもこうにもわかりにくい。初心者にとっては 『じゃあ、実際にどうしたらいいのか』 という情報が抜け落ちているように思う。このリファレンスが、その疑問を解決できたら本望である。 ただし、ここに記述されている対処法がすべてではないし、ここに記述されていないエラーの方が多い。MSDN には、すべてのエラーについてのドキュメントがあるので詳細はそちらを参照してもらいたい。残念ながら、VC++ を使う以上は、MSDN に慣れなければならない。MSDN からほしい情報を自力で見つけ出せるようになったら、初心者ではないと宣言できる気がする。というか、MSDNはほんまに分かりにくいんだけどね・・・。 この一覧は、VC++ 6.0 でよく発生するエラーについて述べています。5.0以前や
使い方 - 操作編 基本的に、SendMessage ですべての操作を行えるのですが、ソースが読みにくくなるのでマクロが定義されています。ここでは、そのマクロを使った方法を紹介します。SendMessage を使ってやりたい人は、MSDN のマクロのヘルプを見て、対応するメッセージを送ってください。 ツリービューにはハンドルと言う概念があります。ハンドルは、ツリービューの特定のアイテムを表すための指標として導入されています。なぜハンドルが導入されているかですが、リストボックスなどだと 何番目の要素であるかを示せばアイテムを特定できますが、ツリービューではそうも行かないからです。 注意点をあげておきます commctrl.h をインクルードするのを忘れないでください。 comctrl32.lib をリンクするのを忘れないでください。 InitCommonControls(); をプログラムの
Win32のデバッグ Win32アプリケーションでは、デバッグ情報をコンソールに出力するようなこともできません。手軽なMessageBox関数を使う方法と、デバッグをサポートするAPIについて解説していきます。 MessageBoxを使う MessageBox関数は簡単なデバッグには便利です。例えば MessageBox( NULL, "呼ばれたよ", "title", MB_OK); とすれば、次のようなダイアログが表示されます。 メッセージボックスの例 MessageBoxで現れるダイアログはモーダルなので、ダイアログを閉じるまで制御は帰ってきません。例えば、アプリケーションが異常終了してしまう場合は、原因となりそうな周辺に1行づつMessageBox関数を挿入すれば、どこで異常終了が発生しているかを判断できます。 ただし、MessageBoxには、printf関数のように変数の値を表
改行コード問題とは http://kotone.bunkasha.co.jp/~kenjo/diary/d041103.html#15-2 によくまとまってあります。ここの内容とだいぶかぶりますが、説明しておきます。 レポジトリは、改行コードが LF(0x0A) であるのが普通らしい。通常、UNIX 上で CVS を利用する分には、なんの問題もないです。でも、でも、Windows で編集したファイルを、直接 CVS のリポジトリに取り込んでしまうと困ったことになります。リポジトリ上のファイルの改行コードが CR LF(0x0D 0x0A)になってしまいます。 レポジトリの改行コードがころころ変わると、差分ファイルが無駄に大きくなって嫌な感じですよね。ここまでの説明なら、別に改行コードを CR LF か LF のどちらかに統一しておけばいいように思えます。しかし、世の中の Windows C
設定の保存について VC++6.0 でアプリケーションを作成すると、何にもしない実行可能ファイルでも 40KB になってしまいます。これってすごい無駄な気がしますよね…。 ここでは、実行可能ファイルのサイズをダイエットする方法を解説します。 ファイルサイズ = 4KB×n VC++6.0は、デフォルトでファイルのサイズを 4KB(4096byte) の整数倍になるように調整します。このようにしないと、Windows98 が実行ファイルを正しくモメリキャッシュできないようです。しかし、オンラインソフトとして公開する場合は、ダウンロードにかかる時間を少なくしたいのも事実です。また、これから NT系の OS が増えてくることを考えると、この機能は無駄な気もします。 ファイルサイズが 4KB の整数倍にならないようにするには、リンカオプションで/OPT:NOWIN98を指定して下さい。ソースのどこ
IE4.0からIEコンポーネントを使えるようになりました。IEコンポーネントは、Donutなどの国産タブブラウザのほか、色々なアプリケーションで利用されています。 IEコンポーネントは、MFCのCHTMLViewを使えば簡単に作ることができますが、MFCを使いたくない場合もあります。この場合、ATLを選択するのが通常ですが、世の中のドキュメントの大半は ATL と AppWizard を組み合わせた使い方しか載っていません。ここでは、SDK的にIEコンポーネントを使う方法を取り上げます。 サンプルコードはこちら(35.9KB)(2002.12.15、プリコンパイル済みヘッダが見つからないエラーが出ないようにしました)。これをDLして解凍してください。詳細は、ソースファイルの中のコメント参照と言うことでお願いします。100行ほどのソースですので、ぜひ読んでみてください。 このサンプルでは、ダ
いろんなページで紹介されちゃっていますが、まだまだ仮公開です。おかしなバグがあったりするかと思いますが、気長に生ぬるく見守っててください。 とりあえず、mixiブラウザ(仮)コミュニティーなるものを作ってみました。感想・要望・バグ報告はこちらにて。 開発者のつぶやきを mixiブラウザ(仮) 開発室 コミュニティー にて繰り広げています。興味のある方はご参加下さい。 topics 2004/12/10 2.0.0 beta2 公開 2004/11/24 2.0.0 beta1 公開 2004/10/06 1.1.0 公開 2004/09/29 仮公開 概要 mixi を巡回する上で、最新の書き込みをチェックするためにいちいちトップページに 戻るのが面倒だったので作ってみました。 こんな感じで、左側のお気に入りの場所に最新の日記やコミュニティーの書き込みが表示されます。 簡単な使い方 起動後
このページについて このページは、VC++ の使い方を中心にまとめようと思っていましたが、管理者がいろいろな知識をメモ的に詰め込む用途にも使われ始めました。どこにでもある内容よりも、どこにもない情報をまとめてみたり、散らばっている情報を集積することを目的としています。 今のところの目玉コンテンツは VC++の使い方 GUIのプログラミング IEコンポーネント といったところです。 サイトマップ このサイトについて VC.NET関係の資料 VS .NET 60日間限定評価版を斬る ソリューションとプロジェクト チュートリアル VC++入門 デバッグ入門 リファレンス C/C++メモ ビルドエラー対処法 GUIリファレンス VC++ Tips エディタとVC++の大人な関係 CVSによるソース管理 IEコンポーネントの使い方 ウインドウ選択 インターフェース 時代はXML 軽い実行可能ファイル
このページを最初にブックマークしてみませんか?
『トップ [n i t o y o n . c o m]』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く