小ネタメモ
職場にC++Builder 2007が届いたのですが、まだ購入手続きに進んでないはずなのに届いてしまった不思議。見積もりと間違えて発注してしまった様子。その処理に手間取ってて今しばらくオアズケです…。
今日のところは自分で忘れがちな小ネタメモでお茶を濁します。
TListBoxのフォーカス点線削除
OwnerDrawにしてもフォーカスの点線は描画されてしまうので、それを消す(見えなくする)方法。XORで描画されるので、先にXORで描画しておくだけ。
if( State.Contains( odFocused)){
cvs->DrawFocusRect( Rect);
}
二重起動防止
あんまりC++Builderと関係ないけど、よく使うので。
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { // mutex作成 HANDLE hMtx = CreateMutex( NULL, false, "mutexName"); if( GetLastError() == ERROR_ALREADY_EXISTS){ // 終了処理,またはウインドウ探してアクティブに return 1; } try 〜 // mutex削除 CloseHandle( hMtx); }
Set (Delphi組み込み型Set)
これもよく出てくるのに使い方を忘れる。
- Set& Clear();
- Clear メソッドは,Set オブジェクトからすべての要素をクリアします。
- bool Contains(const T el) const
- Contains メソッドは,Set が特定の要素を持っているかどうかを調べます。
- bool fastcall Empty() const
- Empty メソッドは,Set にメンバーが含まれているかどうかを問い合わせます。
- operator <<
- 指定された要素を Set に追加します。
- operator >>
- 指定された要素を Set から削除します。