1)起動時ウィンドウのサイズ変更を制限する。WM_GETMINMAXINFO
メッセージハンドラ
2)MDI子画面の大きさ指定。
3)visual
stdioで作ったプログラムのレジストリキーの場所と名前
4)プログラム実行時にView(MDI)を開かない。
5)起動時ウィンドウのサイズ変更を最大に
6)ドッキングぺインの位置の保存、復元
-----------------------------------------------------------------------------------------------
1)起動時ウィンドウのサイズ変更を制限する。WM_GETMINMAXINFO
メッセージハンドラ
// フレームウィンドウクラスのWM_GETMINMAXINFOメッセージハンドラ
void
CMainFrame::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI)
{
//
幅400高さ300より小さくできないようにする
lpMMI->ptMinTrackSize.x =
400;
lpMMI->ptMinTrackSize.y = 300;
// 幅600高さ500より大きくできないようにする
lpMMI->ptMaxTrackSize.x = 600;
lpMMI->ptMaxTrackSize.y = 500;
CFrameWnd::OnGetMinMaxInfo(lpMMI);
}
-----------------------------------------------------------------------------------------------
2)MDI子画面の大きさ指定。
int
CJvview2View::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if
(CFormView::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO:
ここに特定な作成コードを追加してください。
GetParent()->MoveWindow (10,10, 200, 200);//ys
子画面の大きさ指定。
return
0;
}
-----------------------------------------------------------------------------------------------
3)visual
stdioで作ったプログラムのレジストリキーの場所と名前
コンテナ,REGEDIT,HKEY_USERS\<ユーザーの
SID>\Software\
アプリケーション ウィザードで生成されたローカル
アプリケーション\<アプリケーション名>
CWinAppExのファイル
SetRegistryKey(_T("アプリケーション
ウィザードで生成されたローカル アプリケーション"));
-----------------------------------------------------------------------------------------------
4)プログラム実行時にView(MDI)を開かない。2行消す。
//if
(!ProcessShellCommand(cmdInfo))
// return
FALSE;
-----------------------------------------------------------------------------------------------
5)起動時ウィンドウのサイズ変更を最大に theApp
m_nCmdShow
= SW_SHOWMAXIMIZED;
// メイン
ウィンドウが初期化されたので、表示と更新を行います。
pMainFrame->ShowWindow(m_nCmdShow);
pMainFrame->UpdateWindow();
-----------------------------------------------------------------------------------------------
6)ドッキングぺインの位置の保存、復元
CWinApp
をすべて CWinAppEx
に置換(「大文字と小文字を区別する」「単語単位」にチェックを入れます。)すると、
アプリケーションを終了したときにドッキングペインの位置が保存され、
アプリケーションを次回起動したときにドッキングペインの位置が復元されるようになります。
ON_WM_ACTIVATE()
afx_msg
void OnActivate(UINT、CWnd * BOOL);
ON_WM_ACTIVATEAPP()
afx_msg void
OnActivateAppBOOL (DWORD) です。
ON_WM_APPCOMMAND()
afx_msg void
OnAppCommand(CWnd *、UINT、UINT、UINT) です。
ON_WM_ASKCBFORMATNAME()
afx_msg
void OnAskCbFormatName(UINT、LPSTR) です。
ON_WM_CANCELMODE()
afx_msg void
OnCancelMode();
ON_WM_CAPTURECHANGED()
afx_msg void OnCaptureChanged(CWnd
*)。
ON_WM_CHANGECBCHAIN()
afx_msg void OnChangeCbChain(HWND、hwnd
の分離)。
ON_WM_CHAR()
afx_msg void
OnChar(UINT、UINT、UINT)
ON_WM_CHARTOITEM()
afx_msg int
OnCharToItem(UINT、CWnd *、UINT) です。
ON_WM_CHILDACTIVATE()
afx_msg void
OnChildActivate();
ON_WM_CLIPBOARDUPDATE()
afx_msg void
OnClipboardUpdate();
ON_WM_CLOSE()
afx_msg void
OnClose();
ON_WM_COMPACTING()
afx_msg void OnCompacting(UINT)
です。
ON_WM_COMPAREITEM()
afx_msg int OnCompareItem(LPCOMPAREITEMSTRUCT)
です。
ON_WM_CONTEXTMENU()
afx_msg void OnContextMenu(CWnd *、CPoint)
です。
ON_WM_COPYDATA()
afx_msg BOOL OnCopyData(CWnd * 我が物、COPYDATASTRUCT*
pCopyDataStruct) です。
ON_WM_CREATE()
afx_msg int OnCreate(LPCREATESTRUCT)
です。
ON_WM_CTLCOLOR()
afx_msg HBRUSH OnCtlColor(CDC *、CWnd*UINT)
です。
ON_WM_DEADCHAR()
afx_msg void
OnDeadChar(UINT、UINT、UINT)
ON_WM_DELETEITEM()
afx_msg void
OnDeleteItem(LPDELETEITEMSTRUCT) です。
ON_WM_DESTROY()
afx_msg void
OnDestroy();
ON_WM_DESTROYCLIPBOARD()
afx_msg void
OnDestroyClipboard();
ON_WM_DEVICECHANGE()
afx_msg void
OnDeviceChange(UINT、DWORD) です。
ON_WM_DEVMODECHANGE()
afx_msg void
OnDevModeChange(LPSTR) です。
ON_WM_DRAWCLIPBOARD()
afx_msg void
OnDrawClipboard();
ON_WM_DRAWITEM()
afx_msg void
OnDrawItem(LPDRAWITEMSTRUCT) です。
ON_WM_DROPFILES()
afx_msg void
OnDropFiles(HDROP) です。
ON_WM_DWMCOLORIZATIONCOLORCHANGED()
afx_msg void
OnColorizationColorChanged(DWORD,
BOOL);
ON_WM_DWMCOMPOSITIONCHANGED()
afx_msg void
OnCompositionChanged();
ON_WM_DWMNCRENDERINGCHANGED()
afx_msg void
OnNcRenderingChanged(BOOL);
ON_WM_DWMWINDOWMAXIMIZEDCHANGE()
afx_msg void
OnWindowMaximizedChanged(BOOL);
ON_WM_ENABLE()
afx_msg void
OnEnable(BOOL);
ON_WM_ENDSESSION()
afx_msg void
OnEndSession(BOOL);
ON_WM_ENTERIDLE()
afx_msg void OnEnterIdle(UINT、CWnd
*)。
ON_WM_ENTERSIZEMOVE()
afx_msg void
OnEnterSizeMove();
ON_WM_ERASEBKGND()
afx_msg BOOL OnEraseBkgnd(CDC
*)。
ON_WM_EXITSIZEMOVE()
afx_msg void
OnExitSizeMove();
ON_WM_FONTCHANGE()
afx_msg void
OnFontChange();
ON_WM_GETDLGCODE()
afx_msg
UINT組み込み();
ON_WM_GETMINMAXINFO()
afx_msg void OnGetMinMaxInfo(LPPOINT)
です。
ON_WM_HELPINFO()
afx_msg BOOL OnHelpInfo(HELPINFO
*)。
ON_WM_HOTKEY()
afx_msg void
OnHotKey(UINT、UINT、UINT)
ON_WM_HSCROLL()
afx_msg void
OnHScroll(UINT、UINT、CWnd *)。
ON_WM_HSCROLLCLIPBOARD()
afx_msg void
OnHScrollClipboard(CWnd *、UINT、UINT) です。
ON_WM_ICONERASEBKGND()
afx_msg
void OnIconEraseBkgnd(CDC *)。
ON_WM_INITMENU()
afx_msg void
OnInitMenu(CMenu *)。
ON_WM_INITMENUPOPUP()
afx_msg void
OnInitMenuPopup(CMenu *、UINT、BOOL);
ON_WM_INPUT()
afx_msg void
OnRawInput(UINT、HRAWINPUT) です。
ON_WM_INPUT_DEVICE_CHANGE()
afx_msg void
OnInputDeviceChange(unsigned short 型) です。
ON_WM_INPUTLANGCHANGE()
afx_msg
void OnInputLangChange(バイト、UINT)
です。
ON_WM_INPUTLANGCHANGEREQUEST()
afx_msg void
OnInputLangChangeRequest(UINT、HKL) です。
ON_WM_KEYDOWN()
afx_msg void
OnKeyDown(UINT、UINT、UINT)
ON_WM_KEYUP()
afx_msg void
OnKeyUp(UINT、UINT、UINT)
ON_WM_KILLFOCUS()
afx_msg void OnKillFocus(CWnd
*)。
ON_WM_LBUTTONDBLCLK()
afx_msg void離し(UINT、CPoint)
です。
ON_WM_LBUTTONDOWN()
afx_msg void OnLButtonDown(UINT、CPoint)
です。
ON_WM_LBUTTONUP()
afx_msg void OnLButtonUp(UINT、CPoint)
です。
ON_WM_MBUTTONDBLCLK()
afx_msg void離し(UINT、CPoint)
です。
ON_WM_MBUTTONDOWN()
afx_msg void OnMButtonDown(UINT、CPoint)
です。
ON_WM_MBUTTONUP()
afx_msg void OnMButtonUp(UINT、CPoint)
です。
ON_WM_MDIACTIVATE()
afx_msg voidなる(BOOL、CWnd * CWnd*)
です。
ON_WM_MEASUREITEM()
afx_msg void OnMeasureItem(LPMEASUREITEMSTRUCT)
です。
ON_WM_MENUCHAR()
時間の長い afx_msg OnMenuChar(UINT、UINT、CMenu
*)。
ON_WM_MENUDRAG()
afx_msg UINT OnMenuDrag(UINT、CMenu
*)。
ON_WM_MENUGETOBJECT()
afx_msg UINT OnMenuGetObject(MENUGETOBJECTINFO
*)。
ON_WM_MENURBUTTONUP()
afx_msg void OnMenuRButtonUp(UINT、CMenu
*)。
ON_WM_MENUSELECT()
afx_msg void
OnMenuSelect(UINT、UINT、HMENU)
ON_WM_MOUSEACTIVATE()
afx_msg int
OnMouseActivate(CWnd *、UINT、UINT) です。
ON_WM_MOUSEHOVER()
afx_msg void
OnMouseHover(UINT、CPoint) です。
ON_WM_MOUSEHWHEEL()
afx_msg void
OnMouseHWheel(UINT、short、CPoint) です。
ON_WM_MOUSELEAVE()
afx_msg void
OnMouseLeave();
ON_WM_MOUSEMOVE()
afx_msg void OnMouseMove(UINT、CPoint)
です。
ON_WM_MOUSEWHEEL()
afx_msg BOOL OnMouseWheel(UINT、short、CPoint)
です。
ON_WM_MOVE()
afx_msg void OnMove(int、int)
です。
ON_WM_MOVING()
afx_msg void OnMoving(UINT、LPRECT)
です。
ON_WM_NCACTIVATE()
afx_msg BOOL
OnNcActivate(BOOL);
ON_WM_NCCALCSIZE()
afx_msg void
OnNcCalcSize(BOOL、NCCALCSIZE_PARAMS FAR *)。
ON_WM_NCCREATE()
afx_msg BOOL
OnNcCreate(LPCREATESTRUCT) です。
ON_WM_NCDESTROY()
afx_msg void
OnNcDestroy();
ON_WM_NCHITTEST()
afx_msg LRESULT OnNcHitTest(CPoint)
です。
ON_WM_NCLBUTTONDBLCLK()
afx_msg void OnNcLButtonDblClk(UINT、CPoint)
です。
ON_WM_NCLBUTTONDOWN()
afx_msg void OnNcLButtonDown(UINT、CPoint)
です。
ON_WM_NCLBUTTONUP()
afx_msg void OnNcLButtonUp(UINT、CPoint)
です。
ON_WM_NCMBUTTONDBLCLK()
afx_msg void OnNcMButtonDblClk(UINT、CPoint)
です。
ON_WM_NCMBUTTONDOWN()
afx_msg void OnNcMButtonDown(UINT、CPoint)
です。
ON_WM_NCMBUTTONUP()
afx_msg void OnNcMButtonUp(UINT、CPoint)
です。
ON_WM_NCMOUSEHOVER()
afx_msg void OnNcMouseHover(UINT、CPoint)
です。
ON_WM_NCMOUSELEAVE()
afx_msg void
OnNcMouseLeave();
ON_WM_NCMOUSEMOVE()
afx_msg void
OnNcMouseMove(UINT、CPoint) です。
ON_WM_NCPAINT()
afx_msg void
OnNcPaint();
ON_WM_NCRBUTTONDBLCLK()
afx_msg void
OnNcRButtonDblClk(UINT、CPoint) です。
ON_WM_NCRBUTTONDOWN()
afx_msg void
OnNcRButtonDown(UINT、CPoint) です。
ON_WM_NCRBUTTONUP()
afx_msg void
OnNcRButtonUp(UINT、CPoint) です。
ON_WM_NCXBUTTONDBLCLK()
void
OnNcXButtonDblClk(short、UINT、CPoint) です。
ON_WM_NCXBUTTONDOWN()
afx_msg
void OnNcXButtonDown(short、UINT、CPoint) です。
ON_WM_NCXBUTTONUP()
afx_msg
void OnNcXButtonUp(short、UINT、CPoint) です。
ON_WM_NEXTMENU()
afx_msg void
OnNextMenu(UINT、LPMDINEXTMENU) です。
ON_WM_NOTIFYFORMAT()
afx_msg UINT
OnNotifyFormat(CWnd *、UINT) です。
ON_WM_PAINT()
afx_msg void
OnPaint();
ON_WM_PAINTCLIPBOARD()
afx_msg void OnPaintClipboard(CWnd
*、ハンドル)。
ON_WM_PALETTECHANGED()
afx_msg void OnPaletteChanged(CWnd
*)。
ON_WM_PALETTEISCHANGING()
afx_msg void OnPaletteIsChanging(CWnd
*)。
ON_WM_PARENTNOTIFY()
afx_msg void OnParentNotify; 全体の
(UINT、LONG)
ON_WM_POWERBROADCAST()
afx_msg UINT
OnPowerBroadcast(UINT、UINT) です。
ON_WM_QUERYDRAGICON()
afx_msg HCURSOR
OnQueryDragIcon() ();
ON_WM_QUERYENDSESSION()
afx_msg BOOLはす()
();
ON_WM_QUERYNEWPALETTE()
afx_msg BOOL OnQueryNewPalette()
();
ON_WM_QUERYOPEN()
afx_msg BOOL OnQueryOpen()
();
ON_WM_RBUTTONDBLCLK()
afx_msg void離し(UINT、CPoint)
です。
ON_WM_RBUTTONDOWN()
afx_msg void OnRButtonDown(UINT、CPoint)
です。
ON_WM_RBUTTONUP()
afx_msg void OnRButtonUp(UINT、CPoint)
です。
ON_WM_RENDERALLFORMATS()
afx_msg void
OnRenderAllFormats();
ON_WM_RENDERFORMAT()
afx_msg void
OnRenderFormat(UINT) です。
ON_WM_SETCURSOR)
afx_msg BOOL OnSetCursor(CWnd
*、UINT、UINT) です。
ON_WM_SETFOCUS)
afx_msg void OnSetFocus(CWnd
*)。
ON_WM_SETTINGCHANGE)
afx_msg void OnSettingChange(UINT uFlags、LPCTSTR
大文字、小文字;)
ON_WM_SHOWWINDOW)
afx_msg void OnShowWindow(BOOL、UINT)
です。
ON_WM_SIZE)
afx_msg void OnSize(UINT、int、int)
です。
ON_WM_SIZECLIPBOARD)
afx_msg void指定(CWnd
*、ハンドル)。
ON_WM_SIZING)
afx_msg void OnSizing(UINT、LPRECT)
です。
ON_WM_SPOOLERSTATUS)
afx_msg void OnSpoolerStatus(UINT、UINT)
です。
ON_WM_STYLECHANGED)
afx_msg void OnStyleChanged(int、LPSTYLESTRUCT)
です。
ON_WM_STYLECHANGING)
afx_msg void OnStyleChanging(int、LPSTYLESTRUCT)
です。
ON_WM_SYSCHAR)
afx_msg void
OnSysChar(UINT、UINT、UINT)
ON_WM_SYSCOLORCHANGE)
afx_msg void
OnSysColorChange();
ON_WM_SYSCOMMAND)
afx_msg void必ず; 全体の
(UINT、LONG)
ON_WM_SYSDEADCHAR)
afx_msg void
OnSysDeadChar(UINT、UINT、UINT)
ON_WM_SYSKEYDOWN)
afx_msg
void持つ(UINT、UINT、UINT)
ON_WM_SYSKEYUP)
afx_msg void
OnSysKeyUp(UINT、UINT、UINT)
ON_WM_TCARD()
afx_msg void OnTCard(UINT、DWORD)
です。
ON_WM_TIMECHANGE()
afx_msg void
OnTimeChange();
ON_WM_TIMER()
afx_msg void OnTimer(UINT_PTR)
です。
ON_WM_UNICHAR()
afx_msg void
OnUniChar(UINT、UINT、UINT)
ON_WM_UNINITMENUPOPUP()
afx_msg void
OnUnInitMenuPopupCMenu * (UINT) です。
ON_WM_USERCHANGED()
afx_msg void
OnUserChanged();
ON_WM_VKEYTOITEM()
afx_msg int OnVKeyToItem(UINT、CWnd
*、UINT) です。
ON_WM_VSCROLL()
afx_msg void OnVScroll(UINT、UINT、CWnd
*)。
ON_WM_VSCROLLCLIPBOARD()
afx_msg void OnVScrollClipboard(CWnd
*、UINT、UINT) です。
ON_WM_WINDOWPOSCHANGED()
afx_msg void呼び出さず(WINDOWPOS
*)。
ON_WM_WINDOWPOSCHANGING()
afx_msg void OnWindowPosChanging(WINDOWPOS
*)。
ON_WM_WININICHANGE()
afx_msg void OnWinIniChange(LPSTR)
です。
ON_WM_WTSSESSION_CHANGE()
afx_msg void OnSessionChange(UINT、UINT)
です。
ON_WM_XBUTTONDBLCLK()
afx_msg void
OnXButtonDblClk(UINT、UINT、CPoint)
ON_WM_XBUTTONDOWN()
afx_msg void
OnXButtonDown(UINT、UINT、CPoint)
ON_WM_XBUTTONUP()
afx_msg void
OnXButtonUp(UINT、UINT、CPoint)
ON_MESSAGE( <>>, <>>
)
afx_msg LRESULT memberFxn (WPARAM、LPARAM) です。
ON_REGISTERED_MESSAGE (
<> </> >、 <> > )
afx_msg LRESULT memberFxn
(WPARAM、LPARAM) です。
ON_THREAD_MESSAGE ( <> </> >、 <>
> )
afx_msg void memberFxn (WPARAM、LPARAM)
です。
ON_REGISTERED_THREAD_MESSAGE ( <> </> >、 <> >
)
afx_msg void memberFxn (WPARAM、LPARAM)
です。