知っておくと便利な小技を紹介します。
ShellExecuteEx()でファイルやフォルダを右クリックしてプロパティを
選択すると表示されるダイアログを簡単に表示する事ができます。
// 引数 lpFilePath プロパティーを表示するファイルのパス
void ShowPropertyDialog(LPCTSTR lpFilePath)
{
SHELLEXECUTEINFO shei = { sizeof(SHELLEXECUTEINFO) };
shei.fMask = SEE_MASK_INVOKEIDLIST | SEE_MASK_FLAG_NO_UI;
shei.hwnd = m_hWnd; // オーナーウィンドウのハンドル
shei.lpVerb = _T("properties";);
shei.lpFile = lpFilePath;
::ShellExecuteEx(&shei);
}
|
タスクバーを除いたデスクトップのサイズを知るには
SystemParametersInfo()で取得できます。
これでデスクトップのスクリーン座標がRECT構造体のrcに格納されます。
RECT rc;
::SystemParametersInfo(SPI_GETWORKAREA, 0, &rc, 0);
|
デバッグ情報をアウトプットウィンドウに出力するには_RPT系のマクロを使えば出力できます。
使い方はTRACE系と同じです。
#include <crtdbg.h>
_RPT0(_CRT_WARN, "Output\n");
_RPT1(_CRT_WARN, "string = %s", lpString);
|
動的にエディットボックスのパスワードスタイルを変更する |
SetWindowLong()等でES_PASSWORDスタイルを書き換えても駄目です。
変更するにはSetPasswordChar()を使います。
変更後は領域をInvalidateRect()で更新してやってください。
// 設定
CEdit.SetPasswordChar('*');
CEdit.InvalidateRect(NULL, TRUE);
// 解除
CEdit.SetPasswordChar('\0');
CEdit.InvalidateRect(NULL, TRUE);
|
< 戻る << HOME |
©1999-2002 by Akky, All right reserved. |