2013年8月8日 星期四

關於ID_FILE_SAVE與ID_FILE_SAVE_AS彈出另存為對話方塊的處理

 

Question:

程式(MFC)準備序列化一些資料進行保存,但在按"檔/保存"後會彈出一個另存為的對話方塊,而我想做的是在按下"保存"後直接個根據我指定的路徑與檔案名進行保存,不彈出對話方塊,這要怎麼處理?

Answer:

切換到資源Tree view,選擇到功能表資源中"File->Save"功能表項目,然後滑鼠按右鍵彈出功能表,選擇"添加事件處理常式"(Add Event Handler..)後,彈出事件處理對話方塊,在其中可以設置處理這一個命令事件回應的類,一般是CXXDoc類,點擊“確定”後,MFC嚮導會自動構造命令處理函數的框架,在這裡面可以自己構造保存內容。這樣,另存為對話方塊就不會再打開。

#pragma pack(n)

 
最近有一個專案,本來都順順的!但放了幾天假回來!忽然出現一個bug,查了好久,原來是有一個寫底層的同事!在處理#pragma pack(1)  (對齊)時,忘了把它還原了#pragma pack(pop)!
........................
#pragma pack(push)
#pragma pack(1)
typedef struct s_xxxx
{
   ....
}t_xxxxx;
#pragma pack(pop)
........................
下次若遇到HEAP CORRUPTION DETECTED

或是下面的圖片,而且找不到原因,可以找看看是否遇到這種情形!








在花壇遇到變形金鋼出任務

 
 Meet Transformers

在機車行的門口,科博文跟大黃蜂站在門的兩側出任務!
呵呵!老板好讚!




彰員路(137縣道)





修改 cstatic text color

 
 
// Message Map
BEGIN_MESSAGE_MAP(CDlgDlg, CDialog)
    ...
    ON_WM_CTLCOLOR()
END_MESSAGE_MAP()
HBRUSH CDlgDlg::OnCtlColor( CDC* pDC, CWnd* pWnd, UINT nCtlColor )
{
    // Call base class version at first. Or else it will override your changes.
    HBRUSH hbr = CDialog::OnCtlColor( pDC, pWnd, nCtlColor );
    // Check whether which static label its.
    if( pWnd->GetDlgCtrlID() == IDC_STATIC_OK )
    {
        // Set color as red.
        pDC->SetTextColor( RGB( 255, 0, 0 ));
        pDC->SetBkMode( TRANSPARENT );
    }
    return hbr;
}

MFC clistbox 顯示水平 scrollbar

//送出要用水平軸的訊息
::SendMessage(m_list.m_hWnd,LB_SETHORIZONTALEXTENT,1024,0);
//1024是最長寬度,可以每次在新增字串以後再重新計算需要多少;
m_list.SetScrollRange(SB_HORZ,0,1024);
//強制顯示水平軸
m_list.ShowScrollBar(SB_HORZ);
1. 以上三行請加在initial的地方,CListBox 在 CDialog 裡就放在 OnInitDialog();在CFormView 裡就 OnInitialUpdate();
2. 請記得一定要把Horizontal scroll勾起來,
CListBox 使用 AddString() 是將字串加到最後面,預設是看不到最新的資料的(因為不會自動往下捲)。在每次 AddString() 後加上以下這行程式碼就會自動顯示新增的一行
m_list.SetTopIndex(m_list.GetCount()-1);

如何得到Window系統文件路徑

TCHAR szPath[MAX_PATH];
   SHGetFolderPath(NULL,   CSIDL_COMMON_DOCUMENTS   ,   NULL,   0,   szPath);

2013年3月11日 星期一

我的棒球經 - 2013

20130311 我的棒球經


我的棒球"迷"經歷,是從國中開始的!(1991年)
拜當時社會氣氛所賜,我們那一屆,到國二是還沒分班的!
所以國一到國二大家簡直玩翻了!
國二的時候,教室的隔壁隔壁!就是圖書室!
班上有同學開始注意職棒的報紙,我不知不覺也跟著follow下去!
這一下去,就不得了了!我開始瘋狂的迷上了她!
一開始是每天都要去看一下報紙,了解一下昨天的賽況!球員的動態!
後來,開始嚐試聽廣播!第一場是金臂人的比賽!那是他狀況最好的時候!
七彩變化球!從此讓我著迷!我加入了龍族!
金臂人、三壘手吸塵器、羅世幸!是我的最愛!
假日飛刀手、鷹大俠、謝長亨,是我的頭號公敵!
同學間聊天打屁的話題!不再只是七龍珠跟灌籃高手!
而是在比誰的棒子比較大,七彩變化球跟飛刀手誰的球比較會跑!
後來廖敏雄跟郭李把奧運銀牌帶回台灣!
那時是台灣棒球最風行的時候!球場爆滿的情況是常常有的!
只要是龍象大戰,甚至到最後象獅、龍獅大戰也是常常爆滿!
新竹的比賽不多!而且那時新庄子最後一班從新竹出發的公車是7:40。
而比賽是6:30開始!
我還是常常去排一個多小時的免費外野學生票!只為了看兩局!甚至只有一局!就匆匆的趕公車回家!
那時電視轉播權利金!屢屢創下新高!
這裡面的商機可說是無限的啊!
但也就是因為這樣,不幸的事情就開始發生了!
台灣大聯盟成立,把中華職棒的一線球星,幾乎全挖角光了!
野球魂給我的印象變成了貪婪與邪惡!從此我的書包裡,就再也沒有職棒的賽程表了!
在這之間不是沒有關注過國內棒球!但總是沒有像今年經典賽後有這麼強烈的感受!
今年的中華隊,不管是守備、還是打擊都比我印象中強很多!
很佩服那些持續關注國內棒球的球迷,沒有你們也沒有今天的成績!
以後有時間我會多關注一下他們!
幫這些比我印象中還要厲害的球員加加油!

味全龍