CChildFrame を最大化して表示
MDI の新規ウィンドウで ChildFrame を最大化して表示
BOOL CChildFrame::PreCreateWindow(CREATESTRUCT& cs) { cs.style = WS_CHILD | WS_VISIBLE | WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | FWS_ADDTOTITLE | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_MAXIMIZE; if( !CMDIChildWnd::PreCreateWindow(cs) ) { return FALSE; } return TRUE; }
分割ウィンドウ CSplitterWnd
MDI 分割ウィンドウ
ChildFrm.cpp 内の CChildFrame::OnCreateClient で分割数などを指定している.
SDI は,CMainFrame::OnCreateClient
静的分割ウィンドウ
OnCreateClient 内のコードを書き換える.
/* // コメント部分はスケルトンで生成されたもの
return m_wndSplitter.Create( this,
2, 2, // TODO: 行と列の数を調整してください。
CSize( 10, 10 ), // TODO: 最小の区画サイズを調整してください。
pContext );
*/
if (!m_wndSplitter.CreateStatic(this,1,2)) {
return FALSE ;
}
if (!m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CLeft_View), CSize(150, 100), pContext) ||
!m_wndSplitter.CreateView(0, 1, RUNTIME_CLASS(CRightView), CSize(100, 100), pContext)) {
m_wndSplitter.DestroyWindow(); // この部分は,どこに書かれていたか不明
return FALSE;
}
return TRUE ;
CString で保存される形式
UNICODE | FF FE FF | 04 | 32 00 | 30 00 | 31 00 | 30 00 |
MBCS | 04 | 32 | 30 | 31 | 30 |
// VC98\MFC\SRC\ArcCore.cpp
// CString serialization code
// String format:
// UNICODE strings are always prefixed by 0xff, 0xfffe
// if < 0xff chars: len:BYTE, TCHAR chars
// if >= 0xff characters: 0xff, len:WORD, TCHAR chars
// if >= 0xfffe characters: 0xff, 0xffff, len:DWORD, TCHARs
CArchive& AFXAPI operator<<(CArchive& ar, const CString& string)
{
// special signature to recognize unicode strings
#ifdef _UNICODE
ar << (BYTE)0xff;
ar << (WORD)0xfffe;
#endif
if (string.GetData()->nDataLength < 255) {
ar << (BYTE)string.GetData()->nDataLength;
}
else if (string.GetData()->nDataLength < 0xfffe) {
ar << (BYTE)0xff;
ar << (WORD)string.GetData()->nDataLength;
}
else {
ar << (BYTE)0xff;
ar << (WORD)0xffff;
ar << (DWORD)string.GetData()->nDataLength;
}
ar.Write(string.m_pchData, string.GetData()->nDataLength*sizeof(TCHAR));
return ar;
}
X02T Bluetooth Profile
HSP | Headset Profile | デバイスとBluetooth 対応ヘッドセットとの通信に使用する。 |
HFP | Hands-Free Profile | ハンズフリーデバイスで発呼および着呼する。 |
SPP | Serial Port Protocol | 2 台の Bluetooth 対応デバイスを接続する。 |
A2DP | Advanced Audio Distribution Profile | ステレオ品質のオーディオをメディア ソースからストリーミングする。 |
AVRCP | Audio/Video Remote Control Profile | TVやハイファイ設備、その他のデバイスを制御する(リモコンのような役割)。 |
HID | Human Interface Device | キーボードやマウス、ゲームデバイスなどに使用する。 |
OPP | Object Push Profile | 携帯電話間、または携帯電話と PC 間での連絡先やスケジュール、名刺データの交換などに使用する。 |
PSAPI
EnumProcesses
EnumProcessModules
GetModuleFileNameEx
http://cid-535f5973454c1292.office.live.com/self.aspx/.Public/MFC/PStatus.hxx.txt
プロセスID から,HWND を求める.
DWORD pid = processID ;
EnumWin ew ;
INT_PTR wCount = ew.GetCount() ;
for (INT_PTR wIndex=0 ; wIndex<wCount ; wIndex++) {
HWND hwnd = ew.GetWinHandle(wIndex) ;
DWORD wpid = 0 ;
GetWindowThreadProcessId(hwnd,&wpid) ;
if (pid == wpid) {
…
break ;
}
}