一步步Notepad变Word
呵,我太喜歡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;
}
高手一定看得懂,一點看頭都沒有,如果你是新手,我有空再寫注釋上去.
總結
以上是生活随笔為你收集整理的一步步Notepad变Word的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 切换用户_Linux 用户态
- 下一篇: retrofit 解析百度地图api 返