Type a page name and press Enter. You'll jump to the page if it exists, or you can create it if it doesn't. To create a page in a module other than misc, prefix the name with the module name and a period. A wiki for developers PInvoke.net is primarily a wiki, allowing developers to find, edit and add PInvoke* signatures, user-defined types, and any other information related to calling Win32 and ot
Microsoft Learn. Spark possibility. Build skills that open doors. See all you can do with documentation, hands-on training, and certifications to help you get the most from Microsoft products. Learn by doing Gain the skills you can apply to everyday situations through hands-on training personalized to your needs, at your own pace or with our global network of learning partners. Take training Find
Visual C++は、ワイド文字(Unicode)/マルチバイト文字のプログラムコードを、デファイン_UNICODEおよびUNICODEの制御だけで切り替えられるようにする仕掛け(本記事ではTCHARと呼称)を用意しています。Windows のAPIやVisual C++の標準ライブラリはほとんどがこのTCHARの仕掛けを使っています。 ところが、アプリケーションコードでTCHARの仕掛けを使う場合に、どのようにプログラミングすればよいか、情報がまとまっていません。そこで、自分でプログラミングをしていて引っかかったり調べたことなどを雑多メモとして残すことにしました。 TCHARを使うと、標準C++プログラミングとは相性が悪いです。Visual C++というのはC++言語の亜種で、Windowsアプリケーション開発用言語として認識しておくのが吉。 概要 TCHARの仕掛けを使う場合、コンパ
[戻る] momo 2007/11/02(金) 04:23:49 #define UNICODE #define _UNICODE ときどきこういう風に二つ重ねて書いてあるコードを見かけますが、#define UNICODE と #define _UNICODE ってどうちがうんですか? どちらもTEXT("")マクロを展開するという点で同じだと思うんですが wood 2007/11/02(金) 04:48:53 アンダースコア付きのものは互換のためのものと解釈しております 言語仕様が上位に行くに従い、いずれなくなるかも知れないものと思ってます UTFも8と16とが存在しますよね、 詳しく調べてませんが、そのような、扱えるコード範囲の互換のものでは ないでしょうか? MSDN等を見ないでの回答ですので間違いでしたらすみません YuO [E-Mail] 2007/11/02(金) 05:34
ホーム < ゲームつくろー! < Programming TIPs編 その14 UNICODEで分けないtstring型を宣言する Visual C++には文字セットとしてUnicode対応版とマルチバイト文字列対応版があります。これはプロジェクトのプロパティの構成プロパティにある「文字セット」で設定できます。 Unicode文字セットの場合2バイト文字を扱う事になります。型は通常wchar_t型です。一方マルチバイト文字セットは1バイト文字を扱うので方はchar型です。プログラマはプロジェクトの文字セットごとにこれを使い分ける必要があります。これは極めて面倒です。そこでVisual C++にはTCHAR型が用意されています。TCHAR型自体は次のように定義されています:
マルチメディアファイルの読み書きプログラミング(Visual C++ MFC)について学んだ結果を書き記しているものです。 以前解説した「アイコンファイルの読み込み」及び「アイコンリソースの読み込み」で読み込んだグループアイコン(CGroupIconクラス)をファイルに保存する方法を説明します。 ICONDIR構造体をファイルに書き込んでから、エントリーしているアイコンの個数分、空のICONDIRENTRY構造体を先に書いておきます。 エントリーしているアイコン毎に、ICONDIRENTRY構造体とICONIMAGE構造体をファイルに書き込みます。 「DIBファイルフォーマット」で解説した一連のDIB関連の関数と「PNGファイルの書き込み」で解説した_PNGStreamOut関数、並びに「libpngのインストール」でダウンロードしたlibpngを使用するためのインクルード定義です。 #i
「ウェブリブログ」は 2023年1月31日 をもちましてサービス提供を終了いたしました。 2004年3月のサービス開始より19年近くもの間、沢山の皆さまにご愛用いただきましたことを心よりお礼申し上げます。今後とも、BIGLOBEをご愛顧賜りますよう、よろしくお願い申し上げます。 ※引っ越し先ブログへのリダイレクトサービスは2024年1月31日で終了いたしました。 BIGLOBEのサービス一覧
CString: 識別子が見つかりません 開発環境:Visual c++ 2008 Express Edion OS:Win XP Pro 次のエラーが表示されていて解決できません。 エラー内容は 1>d:\vc_source\dump\dump\Form1.h(448) : error C3861: 'CString': 識別子が見つかりませんでした です。 ちなみにinclude文は以下です。 #include <Windows.h> #include <stdio.h> #include <stdlib.h> #include <tchar.h> #include <string> #include <cstring> やりたいことは String型からCString型を経由して、TCHAR型へ変換することです。またはその逆方法の変換です。そのためにCString型は必要になるのです
Windowsでプロセスの二重起動の防止にはミューテックスが使われます。 サンプルなどをみると簡単なのですが、意外とハマる罠があるので注意しましょう。 ちなみに以下のサンプルコードはVC2008で試しています。 罠1:OpenMutexしてはいけない #include <windows.h> #include <tchar.h> #include <stdio.h> #include <locale.h> //_tsetlocale用 #include <conio.h> //getch用 int _tmain(int argc, _TCHAR* argv[]) { _tsetlocale( LC_ALL, _T("Japanese") ); //_tprintfで日本語を表示させるために必要 HANDLE hMutex = ::OpenMutex(MUTEX_ALL_ACCESS, FA
DIBSectionを作る 概要:DIBとDDBの両方の性質を併せ持つBMP DIBにはGDI関数を使うことができないという弱点があります。 わざわざDIBで作成しておいて、GDI関数を使う機会はあまり無いように思いますが、 時にはGDI関数が使えないと困る場面に遭遇するかもしれません。 GDI関数が使えるDIBが欲しい……そんな欲張りな願いを叶えてくれるのがDIBSectionです。 ■DIBSectionの特徴 DIBSectionはDIBとしてもDDBとしても振る舞う事ができるビットマップです。 CreateDIBSection という DIBSection 作成関数を実行すると、 DIB用のピクセル列(各画素の色に直接アクセスできる)と、 DDB用のビットマップを両方作成してくれます。 ビットマップからメモリデバイスコンテキストを作成すればDDBとして振る舞うことができます。 この
とくに32bitである意味はないですが、扱いやすさから32bitを。 ポインタを++したら次のピクセルってあたりが直感的で良いですね。 その前にとりあえずウィンドウを適当に表示するところから。 #include <windows.h> LRESULT CALLBACK wndProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam ) { switch (msg) { case WM_DESTROY: ShowWindow( hWnd, SW_HIDE ); PostQuitMessage(0); break; case WM_CREATE: break; case WM_PAINT: { PAINTSTRUCT ps = {0}; HDC hdc = BeginPaint( hWnd, &ps ); EndPaint( hWnd, &
ドット絵エディタ「EDGE2」、MIDI音楽編集ソフト「Domino」、楽曲などを配布している個人サイトです。 2024/06/07 高機能ドット絵エディタ「EDGE2」 Ver.1.19 リリース 2023/06/28 EDGE2ご購入メールをくださった謙次様 2023/02/09 高機能ドット絵エディタ「EDGE2」 Ver.1.18 リリース 2023/01/01 高機能ドット絵エディタ「EDGE2」 Ver.1.17 リリース 2022/12/10 高機能ドット絵エディタ「EDGE2」 Ver.1.16 リリース 2022/01/13 メールアドレス変更のお知らせ 2021/01/03 スペースマンボウの1面の曲をアレンジしてみた 2020/12/20 アルシャークの戦闘曲をアレンジしてみた 2020/11/16 スーパーマリオランド(初代)のエンディングテーマをアレンジしてみた
2008年7月31日(木) 23時43分16秒 [C/C++言語] 独自メッセージの定義にはWM_USERでなくWM_APPを使う C++でWindows用ソフトを作っていて独自のメッセージを定義する際、WM_USERを使って以下のようによく書いてました。 #define UM_MYMESSAGE (WM_USER + 100) WM_USERに適当な整数を加えただけなんですけど、これはよろしくない書き方だったようです。昔々サンプルソースでこう書かれているのを見て以降、ずっとこの書き方を使ってたんですが。(^_^;;; WM_USERは定義済みコントロールクラスのために使われているので、プログラマが適当に「WM_USER+n」とか書いちゃうと、ほかのメッセージとコンフリクトする可能性があるんだそうな……。知らなんだ……。 というわけで、独自のメッセージを定義したいときは、WM_USERでは
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く