專家門診—Visual C++開發答疑300問

專家門診—Visual C++開發答疑300問

專家門診—Visual C++開發答疑300問


I S B N : 7-115-11304-1
出 版 社 : 人民郵電出版社
裝  訂: 16開 平裝 黑白
隨書光碟: 1
書本頁數: 376 頁
特價: 428 元
作者】 求是科技 肖宏偉

本書精選了300多個在Visual C++程序設計中經常遇到的問題和典型的功能需求,以專家解答的方式展現給讀者。本書內容涵蓋開發工具與調試、Visual C++ 6.0編程基礎、對話框及控件的使用、一般窗口及界面設計、SDI和MDI窗口、消息系統鉤子函數及DLL、磁盤路徑與文件操作、數據庫、網絡與通信、圖形圖像及打印控制、操作系統、線程及進程控制、時間控制、數學算法、發佈程序等Visual C++開發的各個方面,重點突出程序設計實用性。每個問答或者需求都根據技術難度不同加以標識,並給出在實際開發中的人氣指數(經常涉及頻繁程度)。
本書是廣大開發人員編程經驗的積累,本書適合於已經初步掌握Visual C++編程概念、方法的讀者閱讀,可幫助讀者迅速掌握實際應用中的開發技巧。

第1章 開發工具與調試

如何快速地規範代碼縮進格式
如何在Release狀態下進行調試
Release版和Debug版有什麼不同
Assert和Vertify有什麼區別
如何修改開發環境的字體
Workspace和Project之間是什麼樣的關係
如何在非MFC程序中使用ClassWizard
如何設置條件斷點
在編輯狀態下發現成員變量或函數不能顯示提示時如何打開提示功能
如何將一個通過ClassWizard生成的類刪除
如何將在workspace中消失的類找出來
如何清除所有的斷點
如何在ClassWizard中選擇未列出的消息
如何檢測程序中的括號是否匹配
如何查看一個宏(或變量、函數)的定義
如何整理ClassView視圖中大量的類
如何添加Lib文件到當前工程
#include FileName.h 和#include “FileName.h”有什麼區別
如何在工作區(Workspace)導入多個項目(Project)
如何快速刪除項目下Debug 文件夾中臨時文件
如何快速生成一個與現有工程除了工程名外完全相同的新工程
如何解決Visual C++ 6.0不正確連接問題
引起LNK2001的常見錯誤都有哪些
如何調試Windows外殼擴展程序(Shell Extension)
如何調試一個沒有原碼的exe文件調用的 dll
怎樣設置棧的大小
如何知道GetLastError()返回的錯誤代碼的意義
如何使用Visual C++ 6.0中的快捷鍵
Visual C++ 6.0工程中的項目文件都表示什麼

第2章 Visual C++ 6.0編程基礎

什麼是匈牙利命名法
Windows編程中的句柄是什麼
什麼是回調函數以及如何使用它
內存洩漏主要由哪些原因引起的
如何發現內存洩漏
C++的const類型是如何使用的
指針和引用有什麼區別
如何動態分配二維數組
純虛函數是如何使用的
堆和棧有什麼區別
兩個類互為成員應該如何聲明
bool和BOOL有什麼區別
GlobalAlloc(),malloc()和new()有什麼區別
如何使用關鍵字volatile
如何實現int與CString,char*與CString,float與CString之間的互相轉化
什麼是UNICODE以及如何使用它
C++中關鍵字typename有什麼作用
關鍵字__stdcall和__cdecl有什麼區別

第3章 對話框及控件的使用

如何創建和使用一個無模式對話框
為什麼使用CRichEditCtrl控件的對話框不能顯示出來
如何改變控件的字體
如何限制編輯框的准許字符
如何防止Edit框中的Password被非法獲取
如何設置ClistCtr控件為可以整欄選擇並且有網格條紋的報表形式
如何給CListCtrl控件增加列標題欄
如何給CListCtrl填充數據
如何實現CListCtrl中的排序問題
如何給CTreeCtrl填充數據
如何對CTreeCtrl中的節點文本進行編輯
如何實現調色程序
如何設定靜態文本框的背景色和文本顏色
如何響應CSliderCtrl控件的拖動消息以及得到當前位置
如何使用CFileDialog對話框
如何使用CColorDialog對話框
如何使用CFontDialog對話框
如何避免CRichEditCtrl中顯示中文亂碼的問題
向列表框CListBox添加很多數據時如何防止閃爍
當列表框ClistBox的項目寬度超過了其自身窗口寬度時如何顯示提示條
在給CComboBox的屬性框中加入多項時如何換行
如何在下拉框裏顯示上幾次程序運行的輸入信息
如何改變對話框DoModal的返回值
怎樣彈出選擇目錄的對話框

第4章 一般窗口及界面設計

如何設定窗口的背景色
如何生成任意形狀的窗體
如何實現無標題窗口的拖動
如何使窗體透明
如何使窗體半透明
如何保持窗口的大小不變
如何使窗口始終位於所有窗口的最上面
如何改變窗口的默認風格
如何讓窗體顯示在中央
如何使窗口不可見
如何重置窗口的大小和位置
如何將文本傾斜顯示
如何製作立體字體
串太長如何在末尾顯示省略號
如何在對話框中加入工具條
如何在基於文檔視圖的工程中加入啟動畫面
如何在基於對話框的工程中使用Splash
如何在對話框上動態創建視圖
如何將某一區域設為光標熱區
如何隨時獲得鼠標的窗口位置
如何隨意改變光標的形狀
如何控制鼠標的移動範圍
如何使窗體右上角的系統按鈕無效
如何改變窗口的圖標
屏幕保護程序的原理是什麼
應該如何製作屏幕保護程序
如何在Visual C++ 6.0中用回車鍵切換輸入焦點
如何實現類似QQ程序的界面
如何一步一步地彈出和關閉窗口
如何彈出鼠標提示窗口
如何製作類似Windows任務欄的窗口

第5章 SDI和MDI窗口

文檔、視圖、框架窗口間的關係和消息傳送規律是怎樣的
如何切分窗口
如何固定視圖間的分隔線
如何動態改變切分窗口的大小
如何實現切分窗口中視圖的動態切換
OnDraw和OnPaint之間有什麼關係
如何彈出右鍵菜單
如何顯示級聯菜單
如何給系統菜單添加一個菜單項
如何將窗體頂端標題欄的右鍵菜單屏蔽掉
如何動態增加或刪除菜單
如何使菜單項前帶圖標
如何隱藏CScrollView中的Scroll Bar
如何讓工具條的按鈕任意分組
如何給工具條增加一個下拉按鈕以及如何響應單擊下拉按鈕的消息
如何實現工具欄上的下壓式按鈕
如何在同一行上停靠兩個工具條
如何使能和禁止工具條的工具提示
如何在工具欄中放CComboBox控件
如何將系統時間在狀態欄上顯示
如何使MDI啟動時不生成子窗口
如何讓MDI窗口一啟動時就最大化或者最小化
如何改變窗口框架的顏色
怎樣得到主框架窗口指針
如何實現全屏顯示
當文檔被修改時,如何在標題上加上標誌“*”
怎樣判斷獲得的視圖指針是哪一個類
如何取得MDI應用程序中每個視圖的指針

第6章 消息系統、鉤子函數及DLL

如何自定義消息
應用程序傳送的消息有哪些以及有什麼區別
如何將幾個菜單項的消息處理函數放入一個函數中
消息WM_NOTIFY是如何使用的
是不是只要是CWnd對象就一定有消息循環
在對話框中為什麼不響應按下向下箭頭鍵(VK_DOWN)和向右箭頭鍵(VK_RIGHT)的消息
Visualc C++ 6.0可以編寫哪幾種dll
Visualc C++ 6.0如何編寫Non-MFC Dlls
Visualc C++ 6.0如何編寫Regular Dlls
Visualc C++ 6.0如何編寫Extension Dlls
如何調用DLL
為了定位DLL,Windows搜索目錄的順序是怎樣的
怎樣從MFC擴展動態鏈結庫(DLL)中顯示一個對話框
Win32中全局鉤子的運行機制是怎樣的
Visual C++ 6.0中全局共享數據是如何實現的
如何獲知鼠標移開某個窗口
如何記錄鍵盤的所有按鍵信息
如何用按鈕模擬鼠標的點擊
如何用按鈕模擬鍵盤的輸入
如何製作軟鍵盤的應用程序
如何知道自己的工程中調用哪幾個DLL文件

第7章 磁盤路徑與文件操作

如何獲得系統的所有磁盤驅動器
怎樣獲得磁盤驅動器的序列號
如何判定驅動器的文件系統類型
如何獲得磁盤空間信息
如何判定磁盤是光驅還是軟驅
如何確定應用程序的路徑
應該在哪兒創建臨時文件
如何對INI文件進行讀寫
如何遍曆目錄下的每一個文件
如何將內容不為空的目錄刪除
如何在特定目錄下查找某個文件
如何在txt文件中逐行讀寫數據
如何獲得文件的屬性
如何拷貝文件
如何刪除文件
如何移動文件
如何讀寫大型的二進制文件
如何快速創建一個大文件
如何在Visual C++ 6.0中使用fopen()函數來讀寫文件
如何將路徑轉換為長路徑名
如何用Visual C++ 6.0編寫文件分割工具

第8章 數據庫

ODBC訪問數據庫的原理是什麼
一致的數據訪問技術ADO與OLE DB的原理以及它們的關係是怎樣的
如何在程序中動態得到字段的數據類型
如何手動註冊數據源
如何在程序中實現數據源的註冊
在Visual C++ 6.0中如何利用UDL文件來建立ADO連接
如何通過ADO接口連接數據庫
如何通過ADO的記錄集獲得每條記錄的信息
如何通過ADO的記錄集修改記錄信息
如何用SQL語句按時間檢索
如何用SQL語句按字符串檢索
如何在SQL語句中將多個字符串作為檢索條件
如何執行嵌套的SQL語句
如何訪問存有圖像字段的數據庫
如何在Visual C++ 6.0中建立自定義數據庫類
ODBC數據庫編程中DDX 和RFX有什麼區別
如何用Visual C++ 6.0開發基於Oracle數據庫的應用程序
如何直接通過ODBC讀、寫Excel表格文件
在Visual C++ 6.0中如何訪問MySQL數據庫

第9章 網絡與通信

什麼是RFC
如何獲取網卡的地址
如何獲得IP地址和主機名
如何對某些端口進行掃描
如何實現連續多次的Ping命令
如何像OutLook一樣收發電子郵件
如何連接FTP服務器
如何獲得FTP服務器的文件列表
如何下載FTP服務器上的文件
如何給FTP服務器上傳文件
什麼是Windows Sockets規範
什麼是套接口
TCP socket和UDP socket的區別是怎樣的
如何用有連接的方式實現聊天室
如何用無連接的方式實現系統廣播
如何實現Proxy服務器
如何下載網頁
如何在應用程序中映射網絡驅動器
如何實現電話撥號上網
如何刪除Internet臨時文件
如何列出系統打開的所有IE窗口的標題
如何設置某個已經打開的IE窗口的標題
如何清空IE的歷史記錄
如何實現IE中的添加收藏夾的功能

第10章 圖形圖像及打印控制

BeginPaint和GetDC獲得的DC有什麼區別
如何獲取屏幕上某點的顏色
位圖文件的結構是怎樣的
如何通過位圖文件直接得到位圖的大小
如何通過位圖文件顯示位圖
如何將DIB位圖寫入位圖文件
BitBlt和StretchBlt函數有什麼區別
什麼是掩碼位圖以及如何創建
如何利用掩碼位圖製作透明圖片
如何繪製半透明位圖
如何縮放圖片
如何對圖形進行局部放大
如何將轉換DIB位圖為DDB位圖
如何將轉換DDB位圖為DIB位圖
如何截取屏幕
如何任意裁剪圖片
如何用特定色填充某一區域
如何複製位圖到剪貼板
物理坐標和邏輯坐標有什麼區別,它們是如何轉換的
什麼是COLORREF
如何畫一個1/4圓
如何畫箭頭
如何避免屏幕閃爍
如何產生複雜線條
如何顯示JPG和GIF圖像
怎樣定制通用打印對話框CPrintDialog來實現打印功能
如何簡易實現所見即所得的打印
如何確定當前打印機的頁面大小和方向
如何確定打印隊列的狀態

第11章 操作系統

如何獲得Windows的版本號
如何得到當前Windows是不是安全模式
如何查詢註冊表中的鍵
如何修改註冊表中的鍵
如何在註冊表中增加鍵
如何刪除註冊表中的鍵
如何對屏幕分辨率進行控制
如何獲得系統運行的所有進程
如何在任務列表中隱藏應用程序
如何獲取本機的硬件配置
如何用代碼實現重啟和關閉計算機
如何羅列出系統中已經安裝的所有可用字體
Windows系統關閉的時候都發生了什麼消息
如何得到當前Windows用戶
如何格式化磁盤
如何用代碼增加快捷鍵
如何編寫需要密碼驗證的應用程序
如何調用幫助文件(*.chm)
如何修改Windows的右鍵菜單
如何在程序中改變Windows的桌面壁紙
Windows 9x下如何直接訪問物理內存
如何獲取快捷方式(.lnk)的目標和參數
Windows NT/2000系統中如何獲取系統的啟動時間

第12章 線程及進程控制

進程和線程有什麼關係
如何創建一個線程
如何終止一個線程
如何設定線程的相對優先級
如何掛起和恢復線程
如何用通過剪貼板在進程間交換數據
如何通過內存映像文件在進程間交換數據
如何通過消息實現進程間的通信
如何獲取應用程序的實例句柄
如何獲得應用程序主窗口的指針
如何獲得其他應用程序的圖標
怎樣啟動其他的應用程序
如何關閉其他已經打開的程序
如何用默認瀏覽器打開某個url的網頁
如何創建嚮導程序
如何編寫系統託盤程序
如何讓應用程序在系統中只能存在一個運行的實例

第13章 時間控制

如何計算時間差
程序中如何嵌入日曆
如何獲得毫秒級的系統時間
如何讓定時器精確到毫秒
如何對當前的系統時間進行操作
如何獲得和修改目錄的日期和時間

第14章 數學算法

中文和英文字符所占的字節數是一樣的嗎
如何統計一段中英文混合字符的字符數
排序法都有哪些,其算法都是怎樣的
如何將十進制字符串、十六進制字符串和二進制字符串互相轉化
如何隨機選號

第15章 發佈程序

如何給軟件加密和解密
如何使程序在開機時就自動運行
如何創建快捷方式
如何刪除快捷方式
如何在程序中用代碼註冊和卸載ocx控件

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *