呵,我太喜歡Notepad了,喜歡用他看代碼,寫代碼,改代碼.用他寫信,寫文章,幾乎除了表格和圖表不用他,別的都用他了.
最近學了點算不上什麼的東西.它可以梗改其他程式的內容.於是就打算把Notepad強化一下.
終於有點時間.開始吧,事物認識過程都是從簡單到複雜,我門才容易接受.
[2006-4-6號]
所以我還是用最簡單的例子先證明一下,改NOTEPAD是很簡單的.
在NOTEPAD上顯示HELLO WORLD!
代碼如下:
HWND hWnd = ::FindWindow("notepad", NULL);
TCHAR szBuf[256];
if (hWnd != NULL)
{
CWnd *pwnd = CWnd::FromHandle(hWnd);
CDC *pdc = pwnd->GetDC();
::GetClassName(hWnd, szBuf, 256);
m_hRoot = m_tcwnd.InsertItem(szBuf);
EnumChildWindows(hWnd, EnumWindow, (LPARAM)(void*)this);
CRect rt;
pwnd->GetWindowRect(& rt);
pdc->TextOut(10, 10, "Hello World!");
}
void CFindwnd03Dlg::AddOneWnd(HWND hWnd)
{
TCHAR szBuf[512];
::GetClassName(hWnd, szBuf, 512);
if (lstrcmpi(szBuf, "edit") == 0)
{
CWnd *pwnd = CWnd::FromHandle(hWnd);
pwnd->ShowWindow(SW_HIDE);
}
m_tcwnd.InsertItem(szBuf, m_hRoot);
}
BOOL CALLBACK CFindwnd03Dlg::EnumWindow(HWND hWnd, LPARAM lParam)
{
CFindwnd03Dlg *pfd = (CFindwnd03Dlg*)lParam;
if (hWnd != NULL)
{
pfd->AddOneWnd(hWnd);
}
return TRUE;
}
高手一定看得懂,一點看頭都沒有,如果你是新手,我有空再寫注釋上去.