Time of Update: 2018-12-07
1、添加背景圖片到“Bitmap”資源裡。方法為“插入——資源”,如果還沒有Bitmap,則建立一個Bitmap,否則選擇資源 類型為“Bitmap”後“引入”想要插入的背景圖片,我加入的背景圖片1,加入過程2。 圖1 圖2 說明:引入的圖片可以插入256色、16位色或更高色的圖片,若是其他格式圖片可用PS開啟再另存新檔BMP、24位windows格式就可 以了。提示說該資
Time of Update: 2018-12-07
1:建立ActiveX對象 在web中使用ActiveX組件有兩種方法,一是如下<HTML><HEAD><TITLE>rep_print_medcan.CAB</TITLE></HEAD><BODY><OBJECT ID="Rep_Print_MedCan21"CLASSID="CLSID:C0558D51-6AFD-11D5-BF5C-005070024001"CODEBASE="rep_print_medcan
Time of Update: 2018-12-07
1、載入兩張位元影像:IDB_BITMAP1, IDB_BITMAP22、添加一全按鈕,IDC_BUTTON1, 屬性->樣式:選上"所有者繪製"和"位元影像"。3、在對話方塊類中新增成員變數,類型為CBitmapButton ,變數名為m_BitmapBtn,全域變數或局部變數均可。4、在對話方塊類的DoDataExchange函數中添加代碼,DDX_Control( pDX, IDC_BUTTON1, m_BitmapBtn
Time of Update: 2018-12-07
開發工具:1. Visual Studio 2005,用於ActiveX組件的開發2. Microsoft ActiveX Control Pad,用於產生包含ActiveX Control的HTML網頁。步驟:1. 通過Visual Studio 2005建立一個MFC ActiveX Control工程,編譯之後在debug/release目錄下可以找到一個XXXX.ocx檔案。具體步驟可以參考MSDN。2. 在ActiveX Control Pad選擇菜單File -> New
Time of Update: 2018-12-07
這三個參數都是告訴編譯器參數的傳遞約定,參數的傳遞約定是指參數的行程順序(從左至右還是從右至左)和由誰來恢複堆棧指標(調用者或者是被調用者),在 Win16下有兩種約定: C 和 PASCAL。 C約定規定參數行程順序是從右至左,即最右邊的參數最先壓棧,由調用者恢複堆棧指標。 PASCAL約定和C約定正好相反,它規定參數是從左向右傳遞,由被調用者恢複堆棧。 STDCALL是C約定和PASCAL約定的混合體,它規定參數的傳遞是從右至左,
Time of Update: 2018-12-07
MFC中可以用 SystemParametersInfo(……) 函數來擷取和設定系統資訊,如下面例子所示,改變的是系統功能表欄的高度。樣本:改變系統功能表欄的高度NONCLIENTMETRICS ncm;ncm.cbSize = sizeof( NONCLIENTMETRICS ); //這個非常重要,否則下面函數調用將返回0,即ret=0,說明函數調用失敗int ret=::SystemParametersInfo( SPI_GETNONCLIENTMETRICS,sizeof(
Time of Update: 2018-12-07
訊息映射、迴圈機制是Windows程式啟動並執行基本方式。VC++ MFC 中有許多現成的訊息控制代碼,可當我們需要完成其它的任務,需要自訂訊息,就遇到了一些困難。在MFC ClassWizard中不允許添加使用者自訂訊息,所以我們必須在程式中添加相應代碼,以便可以象處理其它訊息一樣處理自訂訊息。通常的做法是採取以下步驟: 第一步:定義訊息。 推薦使用者自訂訊息至少是WM_USER+100,因為很多新控制項也要使用WM_USER訊息。#define WM_MY_MESSAGE
Time of Update: 2018-12-07
在c中使用molloc,free動態分配釋放記憶體,而在c++中可以使用new delete運算子。比如在c中定義數組我們可以有兩大種方式:1,靜態分配記憶體:如: int a[10];2,使用new動態定義:如: int *p = new int[10];那麼這兩種方法有什麼區別呢??其實,使用new,delete等叫做“動態分配記憶體”,我們一般定義的int
Time of Update: 2018-12-07
目前以lib尾碼的庫有兩種,一種為靜態連結庫(Static Libary,以下簡稱“靜態庫”),另一種為動態串連庫(DLL,以下簡稱“動態庫”)的匯入庫(Import Libary,以下簡稱“匯入庫”)。 靜態庫是一個或者多個obj檔案的打包,所以有人乾脆把從obj檔案產生lib的過程稱為Archive,即合并到一起。比如你連結一個靜態庫,如果其中有錯,它會準確的找到是哪個obj有錯,即靜態lib只是殼子。
Time of Update: 2018-12-07
1.獨立代碼//-----------開始---------------------//#include <atlbase.h>#include <mshtml.h>#include <winuser.h>#include <comdef.h>#include <string.h>void EnumIE(void);//處理網頁CComModule _Module; //使用CComDispatchDriver
Time of Update: 2018-12-07
Windows編程中一個比較原始的問題就是訊息迴圈,現在很少有人關心這些了; 我個人對訊息迴圈比較感興趣,對底層的很多細節想深入瞭解! 以下說明幾個訊息迴圈中的常用函數進行對比 1 PostMessage 與 SendMessage
Time of Update: 2018-12-07
1.開啟VC6.0,建立工程,選擇:MFC ActiveX ControlWizard,後面步驟預設即可;2.在ClassView上,可以看到主要有**App\**Ctrl\**ProgPage幾個類,其中介面主要在**Ctrl內實現,可以通過MFC ClassWizard(ctrl+w快速鍵)的Automation頁建立介面函數;3.介面函數是對外,因此在參數類型定義上要注意,字元我一般用LPCTSTR,如下面函數: void COnOcxCtrl::CallOcx(LPCTSTR
Time of Update: 2018-12-07
ActiveX,OLE是基於COM的一種應用,其檔案尾碼一般以dll和ocx結尾;ocx作為一種特殊的dll檔案,具有一定的使用者介面和事件響應,而dll檔案只是方法和屬性的集合。一、關於DLL的介紹 DLL,動態連結程式庫,Dynamic Link Library的縮寫,是一個包含函數和資料的模組集合,可以被其它應用程式共用的程式模組。DLL作為共用函數庫的可執行檔,封裝了一個或多個已被編譯、連結的函數。多個進程可以同時使用一個 DLL,在記憶體中共用該 DLL 的一個副本。DLL
Time of Update: 2018-12-07
隨著電腦網路化的深入,電腦網路編程在程式設計的過程中變得日益重要。許多文章都曾經介紹過用VC++進行Socket編程的方法。但由雩都是直接利用動態串連庫wsock32.dll進行操作,實現比較繁瑣。其實,VC++的MFC類庫中提供了CAsyncSocket這樣一個通訊端類,用它來實現Socket編程,是非常方便的。 用戶端 建立一個Dialog
Time of Update: 2018-12-07
程式在windowsXP和Windows7 32系統下啟動並執行好好的,今天裝了一個windows7 64位系統(說明,程式本身還是32位開發的),運行時出現“0xC015000F 正在被停用的啟用上下文不是最近啟用的”這個錯誤,找了好長時間才解決,下面總結如下: 網上提到較多的方法是在調用CWinApp::InitInstance();介面後面使用afxAmbientActCtx =
Time of Update: 2018-12-07
本文討論序列化 ActiveX 控制項的方法。序列化是從持久性儲存媒體(如磁碟檔案)中讀取或向其中寫入的進程。Microsoft 基礎類 (MFC) 庫在 CObject 類中為序列化提供內建支援。COleControl 通過使用屬性交換器制,將此支援擴充到 ActiveX 控制項。通過重寫 COleControl::DoPropExchange 實現 ActiveX
Time of Update: 2018-12-07
轉自:http://www.cnblogs.com/ggzss/archive/2011/08/18/2145017.html,致謝!!!assert宏的原型定義在<assert.h>中,其作用是如果它的條件返回錯誤,則終止程式執行,原型定義:#include <assert.h>void assert( int expression ); assert的作用是現計算運算式 expression
Time of Update: 2018-12-07
摘要: 本文對COM組件中的ActiveX控制項的MFC開發方法進行了介紹,講述了使用者自訂和庫存屬性、方法以及事件的添加方法和屬性頁面的製作過程。使讀者能夠掌握基本的MFC
Time of Update: 2018-12-07
我們在調用WINDOWS函數的時候,經常要在後面加一條GetLastError()來取得函數出錯的錯誤碼以及原因, 如果在調試的狀態中,WINAPI出錯了,那我們又要停下來,加一句GetLastError(),然後再跑。這樣調試起來很不方便。其實我們可以使用VC裡的一些固定符號來進行調試。下面說一下第一個@ERR,我們等函數執行完,並確定它出錯了,那我們就可以在VC 的
Time of Update: 2018-12-07
void CBtnDlg::OnOK() { // TODO: Add extra validation here // 動態構建按鈕代碼 CButton* pNewButton = new CButton();// 也可以定義為類的成員變數。 CRect rcButton( 10, 10, 50, 30); // 按鈕在對話方塊中的位置。 pNewButton->Create("按鈕", 0, rcButton, this,