別ページですが..
AfxGetMainWnd()->PostMessage( WM_CLOSE );
STARTUPINFO sinfo; PROCESS_INFORMATION pinfo; ZeroMemory( &sinfo, sizeof( STARTUPINFO ) ); ZeroMemory( &pinfo, sizeof( PROCESS_INFORMATION ) ); sinfo.cb = sizeof( STARTUPINFO ); sinfo.dwFlags = STARTF_USESHOWWINDOW; sinfo.wShowWindow = SW_SHOWNORMAL; if ( !CreateProcess( NULL, _T("notepad.exe C:\\foo.txt"), NULL, NULL, FALSE, 0, NULL, NULL, &sinfo, &pinfo ) ) { // 起動失敗 }
// メモ帳が終わるまで制御を戻しません WaitForInputIdle( pinfo.hProcess, INFINITE ); WaitForSingleObject( pinfo.hProcess, INFINITE );
cs.cy = 300; // ウィンドウの高さを 300ピクセルに cs.cx = 500; // 幅を 500ピクセルに c.y = 10; // ウィンドウの左上隅の Y座標を 10に c.x = 50; // 左上隅の X座標を 50に
PRINTDLG pd; BOOL bRet = AfxGetApp()->GetPrinterDeviceDefaults( &pd ); if ( bRet == 0 ) { // プリンタ未セッティングの場合 }
bool DoesFileExist( LPCTSTR lpFileName ) { bool bRet = false; WIN32_FIND_DATA FindData; HANDLE hFile = FindFirstFile( lpFileName, &FindData ); if ( hFile != INVALID_HANDLE_VALUE ) bRet = true; FindClose( hFile ); return bRet; }
対策→拡張子が .ncbのファイルを削除する。このファイルはなければ 自動生成される。別環境で作成したプロジェクトをコピーした時などは、まず削除する ことをお勧めします。
m_pMainWnd->DragAcceptFiles();
CMainFrameにて、メッセージ WM_ON_DROPFIRE をハンドルする。
void CMainFrame::OnDropFiles(HDROP hDropInfo) { // TODO: この位置にメッセージ ハンドラ用のコードを追加するかまたはデフォルトの処理を呼び出してください static char szFileName[_MAX_PATH]; UINT nFileCount = ::DragQueryFile( hDropInfo,0xFFFFFFFF,szFileName, _MAX_PATH );//Dropされたファイル数を取得 if ( nFileCount == 1 ) { UINT uSize=::DragQueryFile( hDropInfo, 0 /* index */, szFileName, _MAX_PATH );//Dropされたファイル名を取得 //ファイル名を保存する処理 ::AfxMessageBox( szFileName ); CDocument *pDoc = GetActiveDocument(); // pDoc->hogehoge() } ::DragFinish( hDropInfo ); //CFrameWnd::OnDropFiles(hDropInfo); }
// 生成されたメッセージ マップ関数 //{{AFX_MSG(CXDemoDlg) : : afx_msg void OnSelchangeCombo1(); //}}AFX_MSG DECLARE_MESSAGE_MAP()
[MainFrm.cpp]
BEGIN_MESSAGE_MAP(CXDemoDlg, CDialog) //{{AFX_MSG_MAP(CXDemoDlg) : : ON_CBN_SELCHANGE(IDC_COMBO1, OnSelchangeCombo1) //}}AFX_MSG_MAP END_MESSAGE_MAP()// 追加したハンドラ void CMainFrame::OnSelchangeCombo1() { CComboBox *pCombo = ( CComboBox *)m_wndDlgBar.GetDlgItem( IDC_COMBO1 ); if ( pCombo ) { int index = pCombo->GetCurSel(); if ( index != CB_ERR ) { CString szStr; pCombo->GetLBText( index, szStr ); TRACE1( "text=:%s:\n", szStr ); } } }
by masu
e-mail: massun.masumoto@nifty.ne.jp
URL : http://member.nifty.ne.jp/~masumoto/