MFC
#include <string> ・・・ const double StrToDouble(CString& s) { return std::atof(s.GetBuffer(0)); }ネタ元 http://www.richelbilderbeek.nl/CppStrToDouble.htm</string>
CFile f(FILENAME,CFile::modeCreate | CFile::modeNoTruncate | CFile::modeWrite);として、 f.SeekToEnd()でファイルポインタを最後にもっていき。 その後、f.Write();
http://kkkon.hp.infoseek.co.jp/tips/MFC/MemoryLeak.shtml何番目にメモリを割り当てたかという番号が毎回同じ時、_CrtSetBreakAlloc()を使うと便利。追記:ページ消えちゃってたのでInternetArchiveから復刻 - MFCでのメモリリークの検出方法 MSDN HTMLヘ…
CTime クラスと CTimeSpan クラスは、 2038 年以降に対応できません。 それぞれ、 COleDateTime クラスと COleDateTimeSpan クラスに置き換えます。VC++6にはこのクラスがないみたい。 というかVisualStudio6自体が2038年には立ち上がらないそうなので、そも…
最近のはnMinPos/nMaxPosの幅がMAXLONG(0x7fffffffffffffff) まで大丈夫のようですけど。ハマった。
コピー先のプロジェクトを開いた状態で、「ファイル」メニューから「開く」を選択する。 コピー元のプロジェクトの「・・・・.rc」というファイルを開く。 リソースの画面が表示されるので、右クリックでドラックして移動/コピーする。 ネタ元 http://www13.o…
大文字変換はMakeUpper();ネタ元 http://www.piao.jp/~yo-mk/Tips/cppLang1.html
LPSECURITY_ATTRIBUTES lpSecurity; // セキュリティ記述子のアドレス lpSecurity = NULL; // デフォルトのセキュリティを使う if( CreateDirectory( "c:\\test", lpSecurity ) == FALSE ) { // 失敗 } ネタ元 http://homepage2.nifty.com/hdkt/vc_createdir…
#include <shlwapi.h> // 要link shlwapi.lib CString path = _T("C:\\foo.bar"); if( ::PathFileExists( path ) && !::PathIsDirectory( path ) ){ // 指定されたパスにファイルが存在、かつディレクトリでない }else if( ::PathFileExists( path ) ){ // 指定されたパ</shlwapi.h>…
GetCommandLine()とか __argc、__argvを使います。ネタ元 http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200408/04080046.txt
変数に値入れる感覚でいるとハマる。
VC++6。コードはあくまでサンプル。メンバ変数としてCScrollBarを追加 CScrollBar m_wndScrollLRresource.hにID追加 #define IDC_WNDSCROLLLR 7050汎用的なサイズ設定関数の作成。 ことあるごとに呼ぶことになる。 #define HSCROLLBAR_HIGHT (16) void ***::…
WndProcにさまざまなメッセージが流れてくるので、それを捕まえて独自処理する。VC++6でスクロールバーを独自描画したくてメッセージを見てみたけど、使えそうな物はなかった。しかたないから自力でスクロールバーもどき作るか・・・。ちなみに飛んでくるmes…
この API を用いると、マウスがウィンドウ外に出て行ったしまったとき、メッセージをもらうことができます。(ただし1回限定なので、また、必要になったら、また API をコールする必要があります。)ネタ元 http://www7.plala.or.jp/bunpan/htmldata/program/…
指定されたファイル名のファイルが存在する場合にtrueを返す。 ただし、ディレクトリのパスが与えられた場合、ディレクトリが存在してもfalseを返す。 CFileFind find; CString filePath = _T("C:\\foo.bar"); if( find.FindFile( filePath ) ){ // ファイル…
Mid()関数を使うよ
SBS_HORZで水平スクロールバー CScrollBar bar; ・・・ int Test::OnCreate(LPCREATESTRUCT lpCreateStruct) bar.Create( SBS_HORZ , RECT( スクロールバーの座標 ) , this , <ユニークな数値> ); bar.SetScrollRange(0,255); // 幅設定 bar.ShowWindow( SW_…
こんな感じで作る COLORREF color = RGB(0, 0, 0);ネタ元 http://hp.vector.co.jp/authors/VA014436/prg_memo/windows/vcbasic/009.html
裏画面作成用のビットマップを用意して、書き終わったら一気に画像を転送するワザを使うべしネタ元 http://orangeknowledge.jpn.org/tips/mfc015.html
void CFfindsapDlg::SearchFile(CString FName, CString FDir) { CFileFind FileFind; BOOL FndEndJug; //----------------------------- //検索ファイル名文字列を生成 CString strSearchFile = FDir + _T("\\") + FName; //---------------- //検索実行 if…
http://msdn.microsoft.com/ja-jp/library/78w43c88%28VS.80%29.aspx使い方 ・・・ CSemaphore m_DrawSync; //ロックオブジェクト ・・・ void func(){ CSingleLock lock(&m_DrawSync); lock.Lock(); 〜処理〜 lock.Unlock(); ・・・ } ネタ元 http://www.ne…
タイマイベントより、マルチメディアタイマーを使うと割り込みなのでより正確に測れるようですね。タイマー入門 - Visual C++ 6.0 編 #include <windows.h> #include <mmsystem.h> #pragma comment(lib,"winmm.lib") ・・・ void CALLBACK timerProc(UINT uTimerID, UINT uMsg, DWOR</mmsystem.h></windows.h>…
m_edit.LineScroll(m_edit.GetLineCount()); // 一番下にスクロールネタ元 http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200307/03070056.txt
OnClose()で if( IDOK == MessageBox("本当に終了しますか?","確認",MB_OKCANCEL) ){ CDialog::OnClose(); }
ダイアログ上で右クリック>イベントを選び、WM_TIMERを追加。 できたOnTimer()関数の中で定期的な処理を書く。OnInitDialog()とかで SetTimer(1,1000,0); とかやれば1秒おきにWM_TIMERイベントが発生します。 おまけ: WM_TIMERを任意で送るには PostMessage(…
CTime timeNow = CTime::GetCurrentTime(); CString sTime = timeNow.Format("%Y%m%d%H%M%S");ネタ元 http://oshiete1.goo.ne.jp/qa949646.html
CWnd::SetWindowText("新たなキャプション");
PathFileExists( path ) と ::PathIsDirectory( path ) を使う。 #include <shlwapi.h> #pragma comment( lib, "shlwapi.lib" )が必要。ネタ元 http://kaede.blog.abk.nu/fileexistcheck http://msdev.blog.shinobi.jp/Entry/7/</shlwapi.h>
http://athomejp.com/goldfish/mfc/button/setbitmap.aspわざわざCBitmapクラス作ったり、面倒ですね。
コンボボックスをダイアログに貼り付ける プロパティ:スタイルタブでタイプを標準にする 登録する項目の数以上に枠を広げる プロパティ:スタイルタブでタイプをドロップダウンリストにする テキストエディタで、項目を編集してコピー プロパティ:データタ…