Iwao Dev

気付いたことをメモしています.

この画面は、簡易表示です

分割ウィンドウ 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 ;

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  • Categories:

CString で保存される形式

BOM — U+FEFF

UNICODE  FF FE FF  04  32 00  30 00  31 00  30 00 
MBCS    04 32 30 31 30


//  VC98MFCSRCArcCore.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;
  }

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  • Categories:

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 間での連絡先やスケジュール、名刺データの交換などに使用する。

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。


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 ;
   }
  }

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。


ビューのそのままを 1 ページに印刷

CXxxxView::OnDraw が以下の様な場合,それを単純にプリンタに送る
{
  CXxxxDoc* pDoc = GetDocument();
  CRect drawRect ;
  GetClientRect(drawRect) ;
  pDoc->Object.Draw(pDC,drawRect,…) ;
  }

CXxxxView::OnPrint を追加.
void CXxxxView::OnPrint(CDC* pDC, CPrintInfo* pInfo) 
{
  CXxxxDoc* pDoc = GetDocument();
  CRect drawRect ;
  drawRect = pInfo->m_rectDraw ;
  pDoc->Object.Draw(pDC,drawRect,…) ;
// CView::OnPrint(pDC, pInfo);
  }

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  • Categories:

ドキュメントのダブルクリックを無効に

ドキュメントのファイルタイプを指定してスケルトンを作成した場合
CXxxxApp::InitInstance 内の以下をコメントに
 // EnableShellOpen();
 // RegisterShellFileTypes(TRUE);

後から,ドキュメントタイプを指定する場合
リソースの StringTable の対応するドキュメント文字列を変更する.

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  • Categories:

起動時に MDI 子ウィンドウを表示しない

起動時に MDIチャイルドウインドウを表示させない
CXxxxApp::InitInstance の ParseCommandLine(cmdInfo); の後に
if (cmdInfo.m_nShellCommand == CCommandLineInfo::FileNew) {
  cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing ;
  }

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  • Categories:

MX/36 メモリ増設

メモリカバーを外す事が容易でなかった.

  1. ネジを緩める所まではマニュアル通り.
  2. 「カバーをはずす②」が,思ったほど簡単ではない.
  3. ネジの近くと,その右の部分を上に上げる感じ.
  4. ネジの付近以外?にツメがあった.
この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。


Shell_NotifyIcon

SDK32: 通知領域にアイコンが登録されないことがある
http://support.microsoft.com/kb/418138/ja

マウスの位置の取得
BOOL ::GetCursorPos(LPPOINT lpPoint) ;

http://cid-535f5973454c1292.office.live.com/self.aspx/.Public/MFC/NotifyI.hxx.txt

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。

  • Categories:


    top

    %d人のブロガーが「いいね」をつけました。