程序啟動時顯示「每日格言」對話框,包含「下次啟動不再顯示」勾選框,用戶選擇後需持久化保存,下次啟動自動判斷是否彈出。
CWinApp::InitInstance() 中調用 GetProfileInt() 讀取 INI 狀態。DoModal() 顯示對話框。OnOK() 時獲取 Check 狀態,WriteProfileInt() 寫入 INI。// App.cpp InitInstance
BOOL CMyApp::InitInstance() {
// ...
if (GetProfileInt(_T("Settings"), _T("ShowTip"), 1)) { // 1=不顯示
CTipDlg dlg;
dlg.DoModal();
}
// ...
}
// TipDlg.cpp OnOK
void CTipDlg::OnOK() {
CButton* pChk = (CButton*)GetDlgItem(IDC_CHECK_SHOW);
int show = pChk->GetCheck(); // BST_CHECKED=1 表示勾選「不再顯示」
AfxGetApp()->WriteProfileInt(_T("Settings"), _T("ShowTip"), show);
CDialog::OnOK();
}
tips.txt,每行一條,啟動時隨機讀取一行。