Time of Update: 2018-12-03
1. 如何改變視窗的表徵圖? 向視窗發送 WM_SECTION訊息。 Example: HICON hIcon=AfxGetApp() ->LoadIcon(IDI_ICON); ASSERT(hIcon); AfxGetMainWnd() ->SendMessage(WM_SECTION,TRUE,(LPARAM) hIcon); 2. 如何改變視窗的預設風格? 重載 CWnd:: PreCreateWindow
Time of Update: 2018-12-03
概述調試是一個程式員最基本的技能,其重要性甚至超過學習一門語言。不會調試的程式員就意味著他即使會一門語言,卻不能編製出任何好的軟體。這裡我簡要的根據自己的經驗列出調試中比較常用的技巧,希望對大家有用。本文約定,在選擇菜單時,通過/表示分級菜單,例如File/Open表示頂級菜單File的子功能表Open。 設定為了調試一個程式,首先必須使程式中包含調試資訊。一般情況下,一個從AppWizard建立的工程中包含的Debug
Time of Update: 2018-12-03
(讀者可以點擊這裡獲得原始碼,注意解壓後將boot.ini拷貝到E:/,以便程式運行找到檔案)標頭檔CfgData.h// CfgData.h: interface for the CCfgData class.////////////////////////////////////////////////////////////////////////#if
Time of Update: 2018-12-03
知道英雄會,已經是英雄會結束以後的事了。聽說英雄會非常熱鬧,英雄也非常多。錯過這麼好的一個交流和交友的機會,非常遺憾。朋友告訴我說,我不知道英雄會的原因,是CSDN不知道我的連絡方式。 不知是否如此。即使我能夠知道要召開英雄會,也未必能夠去參加。工作的繁忙使我無暇他及。畢竟,飯碗才是最重要的。希望以後還能有機會和各位英雄相識。大連這個地方,既沒有微軟的基地,也沒有眾多的MVP,有的只是為日本人打工的苦力福士。。。。。。
Time of Update: 2018-12-03
1:fatal error C1010: unexpected end of file while looking for precompiled header directive該如何解決 如果發生錯誤的檔案是由其他的C代碼檔案添加進入當前工程而引起的,則Alt+F7進入當前工程的Settings,選擇C/C++選項卡,從Category組合框中選中Precompiled Headers,選擇Not Using Precompiled headers。確定
Time of Update: 2018-12-03
for命令應用以前常覺得DOS的命令列功能太弱,無法象UNIX一樣可以用命令列完成非常複雜的操作。實際上,當MS從WIN2K開始將命令列增強後,已經借鑒了相當多UNIX的優點,雖然還無法做到象UNIX那麼靈活,但已可完成絕大多數的任務,比如用&&和||串連兩個(或更多)命令,由前一個的傳回值來決定下一個是否執行,等等。而在這些增強中,最明顯的,就是FOR命令。 舉個例子,用適當的參數,可用FOR命令將 date /t 的輸出 從 "Sat 07/13/2002"
Time of Update: 2018-12-03
使用Printf()在控制台視窗中調試activex控制項文章來自:http://www.codeproject.com/Articles/11420/Printf-debugging-in-a-console-window-from-within-aIntroductionOK, here's the deal... In the process of developing an ActiveX control for inclusion in a browser, I had
Time of Update: 2018-12-03
響應ON_NCPAIT訊息,不過這個時候使用的是DC類是CWindowDCCWindowDC dc(this);CRect rcWin; CPen pen, *pOldPen,pen2,pen3,pen4(PS_SOLID, 2, RGB(229,174,55));//變數名不過標準,應使用有意義的名稱 CBrush *pOldBrush; // 代碼應該加註釋GetWindowRect(&rcWin); rcWin.top = CPAINTOPHEIGHT - 3;
Time of Update: 2018-12-03
在用戶端可以直接 BOOL CPaneSideBar::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) { // TODO: 在此添加訊息處理常式代碼和/或調用預設值 if (m_bHit) { ::SetClassLongPtr(m_hWnd, GCL_HCURSOR, (long)NULL); ::SetCursor(LoadCursor(NULL,
Time of Update: 2018-12-03
1.1 THE TOWER OF HANOILet’s look first at a neat little puzzle called the Tower of Hanoi,invented by the French mathematician Edouard Lucas in 1883. We are givena tower of eight disks, initially stacked in decreasing size on one of three
Time of Update: 2018-12-03
void CPaneSideBar::OnNcPaint(){ CWindowDC windc(this); CRect rtWin; GetWindowRect(&rtWin); ScreenToClient(&rtWin); 。。。//draw lineCPen penYellow(PS_SOLID, 1, RGB(229,174,55));CPen *pOldPen;pOldPen = (CPen *) windc.SelectObject(
Time of Update: 2018-12-03
BOOL CCommentDlg::InitCloseBitmap(){if( m_bmp.m_hObject != NULL )//判斷m_bmp.DeleteObject();/////////載入圖片 CBitmap cbitmap;cbitmap.LoadBitmap(MAKEINTRESOURCE(IDB_BITMAP_CLOSE_COMMENT_DLG));HBITMAP hbmp = (HBITMAP)cbitmap.GetSafeHandle();cbitmap.Detach()
Time of Update: 2018-12-03
1、把圖象中的各個圖象的完整相關資訊(點座標,圖象類型)以一個結構體儲存,將其指標加入到CPtrArray類對象中,然後在OnDraw函數中取出相關資訊繪圖。2、使用相容DC:先將當前圖象貼到一個記憶體CBitmap對象塊中,然後再用相容DC將其SelectObject,OnDraw函數中在拷貝相容DC的內容到當前的繪圖DC中完成重繪操作。//儲存當前位元影像的操作 m_dcCmp.CreateCompatibleDC(&dc); //建立當前繪圖DC的相容DC
Time of Update: 2018-12-03
在做手寫功能模組發現點擊藍色顏色選項,畫出來的筆記為紅色,點擊紅色的選項會出現藍色的筆記效果。就在toolbar裡面的顏色編輯做了更改。這樣,使用mouse進行手寫沒有問題。使用手寫板進行手寫問題依舊。我從沒有懷疑過My Code會有問題,結果卻讓人意外。我以為rgb的分量是由左向右依次是錯的。下面是正確的代碼: Pen pen(Color(255, Pos1.color & 0x000000ff, Pos1.color>>8 & 0x000000ff,
Time of Update: 2018-12-03
首先,要明白Windows對象和MFC對象的區別。MFC對象實際上並沒有把整個Windows對象都封裝在其中,它只是有一個視窗控制代碼而已,這個視窗控制代碼如果指向一個實際存在的視窗對象(視窗對象,也就是WNDCLASS,是一個Windows對象),那麼這個MFC對象就是有效,否則這個MFC對象是空的。如果你還不明白,請回憶一下,當我們使用MFC建立一個視窗時,是分兩步進行的,第一步,new一個CWnd對象,這一步是建立MFC對象,但是其中的HWND還是非法的,因為對應的Windows對象還沒有
Time of Update: 2018-12-03
全屏手寫例如開啟一個pdf檔案。我們知道pdf的總高度(總頁數*單頁高度)。從GetScrollPos(SB_VERT);擷取當前視窗的左上方相對於總頁面的pdf所處的位置。還需要記錄當前滑鼠onmousemove的x和y座標,以y座標為例:y = point.y + GetScrollPos(SB_VERT);
Time of Update: 2018-12-03
Execute執行完後返回一個指向記錄集的指標,下面我們給出具體代碼並作說明。 _variant_t RecordsAffected;///執行SQL命令:CREATE TABLE建立表格users,users包含四個欄位:整形ID,字串username,整形old,日期型birthdaym_pConnection->Execute("CREATE TABLE users(ID INTEGER,username TEXT,old INTEGER,birthday
Time of Update: 2018-12-03
VC開發資料庫基礎之ADO篇 一、ADO簡介ADO(ActiveX Data Object)是Microsoft資料庫應用程式開發的新介面,是建立在OLE DB之上的高層資料庫訪問技術,請不必為此擔心,即使你對OLE DB,COM不瞭解也能輕鬆對付ADO,因為它非常簡單易用,甚至比你以往所接觸的ODBC API、DAO、RDO都要容易使用,並不失靈活性。本文將詳細地介紹在VC下如何使用ADO來進行資料庫應用程式開發,並給出範例程式碼。本文範例程式碼
Time of Update: 2018-12-03
F1: 協助 Ctrl+O :OpenCtrl+P :PrintCtrl+N :NewCtrl+Shift+F2 :清除所有書籤F2 :上一個書籤Shift+F2 :上一個書籤Alt+F2 :編輯書籤Ctrl+F2 :添加/刪除一個書籤F12 :Goto definitionShift+F12 :Goto referenceCtrl+'Num+' :Displays the next symbol definition or
Time of Update: 2018-12-03
關於Android對C++的支援: Files libstdc++.* from your Ubuntu are x86 (or x86_64) binaries but Android devices and emulators are ARM. Of course, this will not work anyway, even if you’ll set correct soname. This is very naive way which leads nowhere. Android