Time of Update: 2018-12-03
我喜歡用自己的語言通過聯絡現實生活中的一些現象解釋一些概念,當我能做到這一點時,說明我已經理解了這個概念.今天要解釋的概念是:同步/非同步與阻塞/非阻塞的區別.這兩組概念常常讓人迷惑,因為它們都是涉及到IO處理,同時又有著一些相類似的地方.首先來解釋同步和非同步概念,這兩個概念與訊息的通知機制有關.舉個例子,比如我去銀行辦理業務,可能選擇排隊等候,也可能取一個小紙條上面有我的號碼,等到排到我這一號時由櫃檯的人通知我輪到我去辦理業務了.前者(排隊等候)就是同步等待訊息,而後者(等待別人通知)就是非
Time of Update: 2018-12-03
char: To BSTR: _com_util::ConvertStringToBSTR CString的AllocSystemString To _bstr_t: _bstr_t的建構函式 To CComBSTR: CComBSTR的建構函式 BSTR: To char: _com_util::ConvertBSTRToString To _bstr_t: _
Time of Update: 2018-12-03
從沒想過,可以這麼方便地和大本營中的很多傳說中的"牛人"直接接觸.關注大學生就業與發展,為中國軟體未來做思量,可以說這是csdn的很有意義公益事業.不過又想一想,這種事情本應該誰來做呢?現在大學的問題早已不是一天兩天之疾,無論害處之深或廣,相信走過一圈的人都清楚,不知道我國未來的建設者是何種組成之群體呢?那又和別國之何種群體競爭呢?
Time of Update: 2018-12-03
1.添加訊息映射訊息映射BEGIN_MESSAGE_MAP(CONSTNETCNDlg, CDialog)//{{AFX_MSG_MAP(CONSTNETCNDlg)ON_WM_PAINT()ON_WM_QUERYDRAGICON()...ON_WM_DEVICECHANGE()//}}AFX_MSG_MAP聲明訊息響應函數:afx_msg BOOL OnDeviceChange(UINT nEventType, DWORD dwData);定義函數內容:BOOL CONSTNETCNDlg::
Time of Update: 2018-12-03
一、 將CString類轉換成char*(LPSTR)類型方法一,使用強制轉換。例如: CString theString( "This is a test" ); LPTSTR lpsz =(LPTSTR)(LPCTSTR)theString; 方法二,使用strcpy。例如:CString theString( "This is a test" ); LPTSTR lpsz = new TCHAR[theString.GetLength()+1]; _tcscpy(lpsz,
Time of Update: 2018-12-03
#include "stdafx.h"#import "msxml4.dll" using namespace MSXML2; #import "C:/Program Files/Common Files/MSSoap/Binaries/mssoap30.dll" \ exclude("IStream", "IErrorInfo", "ISequentialStream", \ "_LARGE_INTEGER", "_ULARGE_INTEGER", "
Time of Update: 2018-12-03
首先,在StdAfx.h中靜態調用diplus.lib,即由編譯系統完成對DLL的載入,應用程式結束時卸載DLL的編碼。如下:#ifndef ULONG_PTR#define ULONG_PTR unsigned long*#include "GdiPlus.h"using namespace Gdiplus;#pragma comment(lib,
Time of Update: 2018-12-03
用VC++實現USB介面讀寫資料的程式使用一個GUIDguidHID_1尋找並開啟一個USB裝置extern "C" int PASCAL SearchUSBDevice(){HANDLE hUsb;int nCount, i, j;//標記同一裝置個數HDEVINFO hDevInfoSet;BOOL bResult;PSP_DEVICE_INTERFACE_DETAIL_DATA pDetail =NULL;memset(m_sysversion, 0, 20);GetSysVersion(
Time of Update: 2018-12-03
具有下面地區的對話方塊都要有WS_BORDER屬性,即不能將對話方塊WS_BORDER設定為NONE 獲得對話方塊標題列的大小:WS_CAPTION屬性,此時可以響應hittest訊息,即拖動非客戶區標題列滑鼠有效,否則是無效的。但如果沒有WS_SYSMENU系統功能表屬性,則無法響應滑鼠右鍵訊息,且沒有關閉按鍵及表徵圖顯示...隱藏標題列 ModifyStyle(WS_CAPTION,0)高度:=GetSystemMetrics(SM_CYCAPTION);寬度:CRect rect;
Time of Update: 2018-12-03
1 使用MFC:PreCreateWindow中添加: 固定大小:cs.style=WS_OVERLAPPED | WS_SYSMENU |WS_MINIMIZEBOX ; 可改變大小,把如上改為:cs.style=WS_OVERLAPPED | WS_SYSMENU |WS_MINIMIZEBOX | WS_THICKFRAME; 這樣的視窗MaxBox為disabled..2 WIN32 API方式:
Time of Update: 2018-12-03
舉例說明這些鍵的用法:(一)響應單獨的按鍵:先添加PreTranslateMessage()(響應WM_CHAR)也是同樣的效果,因為本例只捕捉鍵盤)BOOL CMydilog::PreTranslateMessage(MSG* pMsg) {if (pMsg->message == WM_KEYDOWN){ if(pMsg->wParam=='M')//直接用上面的虛碼代替就可以響應所指鍵MessageBox("hello");//如果按下M鍵彈出訊息. }
Time of Update: 2018-12-03
我想本應該有一些方法在使用C++中巧妙的指標時能自動釋放元件物件模型(COM)元件,使得元件物件模型元件的使用更為容易一些。不過,我開始研究的卻是Microsoft
Time of Update: 2018-12-03
用Socket類實現HTTP協議用戶端應用梁穎健 liangyingjian@21cn.comHttp用戶端程式已整合在Java語言中,可以通過URLConnection類調用。遺憾的是,由於SUN沒有公布Http客戶程式的源碼,它實現的細節仍是一個謎。本文根據HTTP協議規範,用Java.net.Socket類實現一個HTTP協議用戶端程式。1.Socket類:瞭解TCP/IP協議集通訊的讀者知道,協議間的通訊是通過Socket完成的。在Java.net包中,Socket類就是對Socket
Time of Update: 2018-12-03
1、建立一個基於對話方塊的MFC EXE2、在對話方塊的 OnInitDialog 函數 中,設定對話方塊擴充屬性 為:WS_EX_LAYEREDconst WS_EX_LAYERED = 0x80000;::SetWindowLong(GetSafeHwnd(),GWL_EXSTYLE,GetWindowLong(GetSafeHwnd(),GWL_EXSTYLE)|WS_EX_LAYERED);3、在對話方塊的 OnInitDialog 函數 中,設定對話方塊透明HINSTANCE
Time of Update: 2018-12-03
今天是雙十,我上班的第二天,我22歲生日的第三天. 昨天是上班的第一天. 現在是上班時間. 昨天的公車上身邊坐了一個美女 當然 我沒好意思看她 今天的公車上又有一個更大更極品的美女 站在我前面的前面 看見了臉 身材 氣質 條紋美腿黑絲襪(貌似) 都很棒 我看了 也被她看了 當然 我現在已經可以明白被別人看的時候別人的想法 妄想只有一點點 貌似香水的味道很棒 可能是錯覺 昨天的是在百貨公司下 今天的是在大酒店下 當然 今天是我開始上班的第二天
Time of Update: 2018-12-03
前幾天用2008編寫了一個檔案的讀取過程。檔案格式是S-57標準的海圖資料。借用了網上現成的Parse57中的檔案格式分解讀模數塊。然後將內容讀取後記錄到自己的SENC資料結構中。代碼並不是很麻煩,關鍵是,常常螢幕中同時需要顯示幾幅海圖,才能將螢幕填滿;而且除了讀取SENC海圖資料外,還需要進行海圖要素的顯示,以及海圖上層功能的顯示。因此,資料處理的速度是個很重要的問題。如果速度慢,那麼功能再強大,也是無法接受的。 將S-57資料解析後記錄到記憶體的SENC資料結構的部分,
Time of Update: 2018-12-03
1.HBITMAP轉成CBitmap: HBITMAP hBmp; //hBmp的初始化代碼 CBitmap* pBmp = CBitmap::FromHandle(hBmp);HBITMAP hbmp; CBitmap bmp; bmp.Attach(hbmp); CBitmap bmp; bmp.LoadBitmap(IDB_BITMAP1); HBITMAP hbm = (HBITMAP)bmp; CBitmap bmp1;
Time of Update: 2018-12-03
在一些互動性很強的程式中,經常需要使用CRichEditCtrl控制項,但是如何進行編輯文本,如設定文本字型,顏色,連結,插入圖片等等,如何進行操作,這兒就轉載一篇文章,收集一些常見的問題和解決方案,說不定哪一天就用到了。我以前開發過一個聊天程式,調用了一個人開發的CMyRichEdit擴充,實現了字型,顏色,添加連結,插入圖片(QQ控制項)等等。m_edit1代表ID為IDC_EDIT1的CEdit控制項的control類型的變數m_richedit1代表ID為IDC_RICHEDIT1的CR
Time of Update: 2018-12-03
最近要用Flash做程式介面,所以研究了下如何在MFC下調用flash,其他開發工具也差不多的,flash會提供統一的外部API介面。 //-------------------------------------------------------------------------------- 首先是在MFC中增加flash控制項:就是shockwave flash
Time of Update: 2018-12-03
error C2440“static_cast” 無法從“void (__thiscall CPppView )(void)”轉換為“LRESULT (__thiscall CWnd )(WPARAM,LPARAM)”連傳回值寫的不一樣都不可以 汗! 不能轉換void (_thiscall CMainFrame::*)(void)to LRESULT (__thiscall CWnd::*