<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                [TOC] # **記事本** * * * * * ## 理論區 一、添加類向導 1.windows開發 菜單,按鈕,工具欄,快捷鍵 能發出命令 2.在win32自己寫WM_COMMAND 消息 3.主對話框的消息跟虛函數 二、對話框資源屬性, a)擴展屬性,(Extended Style) Accept Files;支持拖放 (MFC WM_DROPFILES 彈出) Disable:禁用或可用 ClientEdge:深下陷風格 StaticEdge:淺下陷 Set Foreground :前端顯示 Topmost:前端顯示 Window Edge:透明 Overlaped Window: Application Window: System Menu:系統菜單包括,關閉,最大化,移動,大小等等 Style:Child (在主窗口里不能選擇Child(用于子窗口)) b)基礎風格: Border: NONE:沒有任何邊緣和標題欄等;(子頁) ReSizIng; 可以改變大小 對話框:不可改變大小 Caption:設置文字 Style:Popup彈出式, child(子頁) Title:標題欄是否顯示 三、編輯控件的風格 Disable與ReadOnly:完全不可用,不可編輯 WantReturn:按回車直接換行,否則,按Ctrl+回車換行 NoHide Selection:當焦點離開時還能顯示選中文字 Align Text:對齊文字(左 中 右) Tab Stop:Tab停頓位置 HelpId:當焦點在這個控件上時,按F1可以彈出改控件的說明(HTML) MultiLine:多行記事本 Password:如果是多行顯示就不支持密碼風格 Number:只能輸入0-9的字符(.和-都不支持) UpperCase:大寫英文 LowerCase:小寫英文 四、ListCtrl的屬性 Always Show Selection:選中項在焦點離開后仍然是顯示狀態 Border:邊緣顏色 EditLabels:點擊或按F2可以編輯列表項的文字。 No Column Header:不顯示標頭 No Sort Header:不排序的標頭 Owner Data:虛擬表;海量數據顯示功能。(Virtual List) Owner Draw:自繪屬性 Share Image Lists:共享圖標列表 Single Selection:單選屬性 ## 代碼區 OnDropFile ====== 循環,(多文件窗口) TCHAR sFile[256]; int nCount = DragQueryFile(hDropInfo, -1 , NULL, 0); int i = 0; while(i < nCount) { DragQueryFile(hDropInfo, i, sFile, _countof(sFile)); } 單文件拖動 三種文件:ANSI UNICODE UTF8 UTF8即屬于 UNICODE 也屬于窄字符 1.ANSI:多字符集的最早期的文字格式,凡是學過C語言的人都可以讀寫;(沒有文件頭字節) 2.Unicode(UTF16):寬字節,包括英文,數字,和符號以及所有國家統統用兩個字節并且各國文字統一編碼沒有重復; 3.UTF-8格式:單字節字符文本,并且各國文字統一編碼沒有重復。(EF BB BFURF-8) *WideCharToMultiByte的代碼頁用來標記與新轉換的字符串相關的代碼頁。 *MultiByteToWideChar的代碼頁用來標記與一個多字節字符串相關的代碼頁。 一、SendMessage與PostMessage的區別; # 03 Accelerator -- 快捷鍵 資源添加 ## 日期時間 COleDateTime time = COleDateTime::GetCurrentTime(); CString str = time.Format(_T("%H:%M %Y/%m/%d %W")); CEdit* pEdit = (CEdit*)GetDlgItem(IDC_EDIT1); pEdit->ReplaceSel(str,true);推薦使用 ## 全選 CEdit* pEdit = (CEdit*)GetDlgItem(IDC_EDIT1); pEdit->SetSel(0,-1); ## MFC程序的消息映射機制 a)Win32工程的消息處理機制,就是每個窗口都關聯一個全局的消息回調函數。 b)在消息回調函數中,通過對各種不同消息類型識別和分流來相應不同的消息。 c)MFC的消息處理使用全局的回調函數,而是創建一個域窗口關聯的派生類,用于消息關聯的成員函數來接收和處理窗口的消息。 d)在類向導中選擇對應的消息,添加與該消息關聯的成員函數來處理該消息,這就是MFC的消息映射機制。 e)在Win32消息處理機制中,每一個消息類型(uMsg)發送到窗口內時,可能在wParam和lParam中攜帶一些相關的數據。 例如:WM_COMMAND的消息中,在wParam中記錄了點擊id按鈕或者菜單項等的ID號碼。而在WM_LBUTTONDOWN的消息中,在lParam中記錄了點擊界面的(x,y)坐標等等每個Win32消息解析這些附帶數據的過程比較繁瑣,需要閱讀MSDN手冊中詳細的說明資料 f)MFC的消息應映射機制,一般不需要開發者解析這些復雜的數據,因為消息映射函數中匯自動在參數中將解析好的數據傳遞過來。例如:OnMouseMove(UINT nFlags CPoint point)函數,再簡單參照MSDN說明即可輕而易舉地進行消息處理。 # 文件處理 void CShortSoftDlg::OnDropFiles(HDROP hDropInfo) { // TODO: 在此添加消息處理程序代碼和/或調用默認值 TCHAR sFile[256]; int nCount = DragQueryFile(hDropInfo, 0, sFile, _countof(sFile)); CFile file;//打開的一般可能是非UNICODE,而你的界面是UNICODE if (!file.Open(sFile, CFile::modeRead)) { //文件在拖動過程中被刪掉,或者文件被占用 AfxMessageBox(_T("打開文件失敗!請檢查文件是否正確!")); return; } if (file.Read(sFile, 2) == 2) { switch(sFile[0]) { case 0xBBEF: ReadUTF8(file); return; case 0xFEFF: ReadUnicode(file); return ; } } ReadAnsi(file); ReadAnsi(file); file.Close(); CDialogEx::OnDropFiles(hDropInfo); } void CShortSoftDlg::ReadUTF8(CFile& file) { file.Seek(3, CFile::begin); LONGLONG nLen = file.GetLength(); char * p = new char [nLen + 1]; nLen = file.Read(p,nLen); p[nLen] = '\0'; TCHAR *pText = new TCHAR[nLen / 2 + 2]; UINT nLen = MultiByteToWideChar(CP_UTF8, NULL, p, -1 , pText, nLen/2 + 2); CString str; SetDlgItemText(IDC_EDIT1, str); delete []p; delete []pText; } void CShortSoftDlg::ReadUnicode(CFile& file) { file.Seek(2, CFile::begin); LONGLONG nLen = file.GetLength(); TCHAR *pText = new TCHAR[nLen / 2 + 1]; nLen = file.Read(pText,nLen); pText[nLen/2] = _T('\0'); SetDlgItemText(IDC_EDIT1, pText); delete []pText; } void CShortSoftDlg::ReadAnsi(CFile& file) { file.Seek(0, CFile::begin); char buff[1024]; UINT nRet = 0;//三種文件:ANSI UNICODE UTF8 CString str; while (nRet = file.Read(buff, sizeof(buff) - 1)) { buff[nRet] = _T('\0'); str += buff; } SetDlgItemText(IDC_EDIT1, str); }
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看