MFC

例外処理まとめ

以下はダイアログの初期化での覚書。 BOOL CMyApp::OnInitDialog() { /* 前略 */ try { throw "例外メッセージを好きに指定。catch (char *e)"; // AfxThrowUserException(); // 既定のユーザ例外?メッセージの指定方法がわからん } catch (char *e) { this…

ダイアログを画面いっぱいに表示する - フルスクリーン表示?

/* * CDialog をフルスクリーン表示 * @param HWND *hWnd * @return bool */ const bool fullscreen(CDialog *dlg) { try { RECT rc; dlg->GetWindowRect(&rc); int width = GetSystemMetrics(SM_CXSCREEN); int height = GetSystemMetrics(SM_CYSCREEN); dl…

Windows7 でタスクバーを隠す

フルスクリーン描画したいのに、タスクバーが前面に出ちゃってどうしようもないときにした対応の覚書。 概要 タスクバーウィンドウを獲得して、表示を隠す指示を出す。 そのままにすると、アプリを終了しても隠れたままになってしまうので、終了時に元に戻す…

みんな大好き、正規表現(?)

CAtlRegExp を使うとアプリ終了時にメモリリークする。Detected memory leaks! どうにかならんのか

みんな大好き、シングルトン

ヘッダ #pragma once class MyUser { private: static MyUser* user; MyUser(void); // コンストラクタ隠蔽 public: ~MyUser(void); // デストラクタ static MyUser* getInstance(); }; 実装 #pragma once #include "StdAfx.h" MyUser* MyUser::user = NULL;…

SWF に日本語混じりのBase URL を渡せない

SWF ブラウザ的なアプリで SWF 動作にBase URL の指定が必要なんだが、フォルダ名に日本語などのマルチバイト文字が混ざっていると渡した後に文字化けしてしまう。 文字セットをマルチバイトにしてもUnicode にしても同じ症状、同じ文字化け。 CString baseu…

F1キーでヘルプファイルがないと怒られる

ので、何とかしようと調べたら、キーバインド排除しようとのこと。 参考は「MFC アクセラレータとF1キーのヘルプの抑制 」。 アプリケーションクラス定義 CPP の上のほうにある Message Map から、F1キー(ID_HELP)のマップを排除する。 BEGIN_MESSAGE_MAP(My…