MFC/Win32
過去の資産をC#で利用したい。 その基本的なやり方を示します。 MFCDLLのプロジェクトを作成し、 apiModule.cppを追加し下記のように記述します。 defファイルに関数名を記述します。apiModule.cpp #include "StdAfx.h" void WINAPI Dll_ShowMessage(const C…
USB機器とデータをやり取りするアプリを作っていると、 USB機器をPCに挿した際に自動再生ウインドウが アプリの前面に表示されてしまう。そのウインドウを表示させない方法。OnInitDialogでQueryCancelAutoPlayのメッセージを登録する m_cancelWindowMessage…
NM_CUSTOMDRAWのイベントハンドラに下記のように記述する。 アイテムの設定を変更するとそれ以降のアイテムに影響するので デフォルト設定をしておかなければならない void CnmCustomDrawTestDlg::OnNMCustomdrawListNum(NMHDR *pNMHDR, LRESULT *pResult) {…
右の画像の赤色の部分を透過したい 下記はMFCでのやり方 m_cBitmapはCBitmap型 IDB_BMP_IMGはイメージのリソースID 赤色で透過したいのでRGB(255, 0, 0) OnInitDlgで m_cBitmap.LoadBitmap(IDB_BMP_IMG); OnPaintで CPaintDC dc(this); BITMAP bmp; m_cBitma…
アプリケーションをインストールするとHKEY_LOCAL_MACHINEのSoftware\\Microsoft\\Windows\\CurrentVersion\\Uninstall に情報が書き込まれるのでそれを利用してアプリケーションのインストールパスを取得する。 下記のコードはGoogle Earthの場合。参考: ht…
厳密ではないけどマルチバイト環境でもunicode環境でも使えるUTF8に変換する関数。 マルチバイト環境の時にMultiByteToWideCharとWideCharToMultiByteを 使わなければいけないのはどうにかならないものか。 int GetUTF8String(const TCHAR *pInBuf, char *pO…
今までわざわざ面倒な方法でソートしていた。 こんな簡単にできるのに一体何をやっていたのだろう。 #include "stdafx.h" #define _CRT_RAND_S // の直前に#define すること #include #include #include #include #include class CSizeLess { public: bool o…
boost::regexを試そうと思っていたが先にATLのCAtlRegExpを試してみる。文字列が正規表現にマッチしていなくても matchContext.m_uNumGroupsは中括弧括りの個数分だけ値を保持するものなのか・・・。 #include "stdafx.h" #include // CAtlRegExp #include i…
void ClistCtrlSortTestDlg::PrepareListHeader() { LVCOLUMN lvColumn; ::memset(&lvColumn, 0, sizeof(LVCOLUMN)); lvColumn.mask = LVCF_TEXT | LVCF_WIDTH; lvColumn.cx = 100; lvColumn.pszText = _T("num"); m_numList.InsertColumn(0, &lvColumn); } …
int CALLBACK _SHBrowseForFolderCallbackProc(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData) { if (uMsg == BFFM_INITIALIZED) { ::SendMessage(hwnd, BFFM_SETSELECTION, TRUE, lpData); } return 0; } BOOL SelectFolderDlg(HWND hParent, CStrin…