Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 25 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
25
Dung lượng
191,22 KB
Nội dung
LÊ QUANG VŨ CĐ TIN 31B KHOA:CNTT Các câu l nh trong l p trình c trên winệ ậ T p tin ậ Vidu1.H: ch a các khai báo liên quan đ n l p Cvidu1App:ứ ế ớ T p tin ậ MainFrm.H: ch a các khai báo liên quan đ n l p khung c aứ ế ớ ử s chính (main frame) c a ng d ng.ổ ủ ứ ụ T p tin ậ Vidu1Doc.H: ch a các khai báo liên quan đ n tài li u.ứ ế ệ T p tin ậ Vidu1.RC: ch a các tài nguyên liên quan đ n menu, phímứ ế nóng, h p h i tho i,…ộ ộ ạ T p tin ậ Vidu1.CPP: đ nh nghĩa các hàm đã khai báo trong l pị ớ CVidu1App, là l p ch ng trình chính.ớ ươ I- T O GIAO DI N:Ạ Ệ 1.CÂU L NH T O V TRÍ XU T HI N C A C A SỆ Ạ Ị Ấ Ệ Ủ Ử Ổ(vi tế trong mi nề làm vi c classview->cmainfrane->precreatewindow)ệ { int xsize =GetSystemMetrics(SM_CXSCREEN); int ysize =GetSystemMetrics(SM_CYSCREEN); cs.cx=xsize*5/10;// n m gi a màng hìnhằ ữ cs.cy=ysize*5/10;// n m gi a màng hìnhằ ữ cs.x =(xsize-cs.cx )/2; cs.y =(ysize-cs.cy )/2; return true; // đã có trong câu câu l nhệ } 2. LO I B MINIMIZE VÀ MAXIMIZEẠ Ỏ (vi t trong mi n nh trên)ế ề ư { cs.style&=~(WS_MAXIMIZEBOX);\\ lo i b thu nho phóng toạ ỏ cs.style&=~(WS_MINIMIZEBOX);\\ lo i b thu xu ng thanh d iạ ỏ ố ướ return true; // đã có trong câu câu l nhệ } 3.KHÔNG CHO THAY Đ I KÍCH TH C C A S LÀM VI C:Ổ ƯỚ Ử Ổ Ệ (vi t trong mi n làm vi c classview->cmainfrane->precreatewindow)ế ề ệ { cs.style&=~(WS_MAXIMIZEBOX);\\ lo i b thu nho phóng toạ ỏ cs.style&=~(WS_MINIMIZEBOX);\\ lo i b thu xu ng thanh d iạ ỏ ố ướ cs.style&=~ WS_THICKFRAME; return true;// đã có trong câu câu l nhệ } 4.T O C A S C C Đ I KHI NG D NG B T Đ U CH Y:Ạ Ử Ổ Ự Ạ Ứ Ụ Ắ Ầ Ạ (Vào classview->cmainfrane-> tênd ánự App->initialized) 1 LÊ QUANG VŨ CĐ TIN 31B KHOA:CNTT -Trong câu l nh:ệ m_pMainWnd->ShowWindow(SW_SHOW); Đ i thành:ổ => m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED);//tao cua so cuc dai khi ung dung bat dau chay. 5. T o h p tho i:ạ ộ ạ B1: Vào resource-> menu->t o tên m c trên thanh menuạ ụ - Trong caption: gõ tên s t o khi ch y ch ng trình.ẽ ạ ạ ươ Vd: B n mu n tao menu thông báo thì trong caption b n gõ :ạ ố ạ &thongbao Trong đó:& là đ t o phím t t khi ch y ch ng trình không c n nh nể ạ ắ ạ ươ ầ ấ chu t.ộ VD:&thongbao thì khi ch y ch ng trình ban ch c n nh n ALT+tạ ươ ỉ ầ ấ Chú ý:-Trong m t menu không th t o phím t t gi ng nhau, b nộ ể ạ ắ ố ạ mu n t o phím t t kí t nào thì ch c n đ “&” tr c kí t t đó.ố ạ ắ ự ỉ ầ ể ướ ự Vd :t&hongbao: thì khi ch y nh n alt+Hạ ấ - Đ a ch ID lúc này đang m , b n mu n nó hi n lên thì kích chu tị ỉ ờ ạ ố ệ ộ vào pop-up đ b d u check.ể ỏ ấ - Ghi đ a ch vào ID:ị ỉ Thí d nhụ ư: ID_thongbao *L u ý:ư - Lúc này b n không đ c t o menu con d i thanh menu b n v aạ ượ ạ ở ướ ạ ừ m i t o.ớ ạ - Đ t o menu con b n kích l i vào pop-up, trên thanh menu s xu tể ạ ạ ạ ẽ ấ hi n menu tr ng đ b n t o, b n ch c n kích vào đó.ệ ố ể ạ ạ ạ ỉ ầ - Lúc này b n ph i đi n đ y đ thông tin:ạ ả ề ầ ủ + Caption là:tên Đ t o phím t t cho menuể ạ ắ : -> Cách 1 : dùng kí t «&ự » nh trênư -> Cách 2 :tên\tctrl+kí tự Vd :t&hôngbao\tctrl+T. - Chú ý : Đ cho phim t t có hi u l c b n vào ể ắ ệ ự ạ resources->Accelerator-> IDR_MAINFRAME và t o phím t t đây.ạ ắ ở + ID : thì b n đánh đ a ch c a menu vàoạ ị ỉ ủ B2 :Vào view->CFC classviewzard - Opject IDs:Ch n tên đ a ch ID c a menu v a t oọ ị ỉ ủ ừ ạ - Messager:+ Ch n command: vi t câu l nh cho menu v a t o b ngọ ế ệ ừ ạ ằ 2 LÊ QUANG VŨ CĐ TIN 31B KHOA:CNTT cách click vào nó, n u b n không mu n thay đ i tên thì b n b m ok.ế ạ ố ổ ạ ấ (Dùng đ t o h p tho i)ể ạ ộ ạ + Ch n update_command_UI: làm cho câu l nh vô hi u l c, ho c cóọ ệ ệ ự ặ hi u l c.ệ ự pCmdUI->Enable(m_bWzd); N u ế m_bWzd =TRUE thì menu tr nên ho t đ ng, ở ạ ộ N u ế m_bWzd = FALSE có k t qu ng c l i.ế ả ượ ạ - Trong menber fuction: b n ch n tên v a m i t o-> nh n vào editạ ọ ừ ớ ạ ấ code. - Cú pháp t o h p tho i:ạ ộ ạ { AfxMessageBox(“Thông báo", MB_YESNO); } Vd: AfxMessageBox(“b n đã t o thông báo thành công”,MB_OK);ạ ạ 6.T o thanh công c :ạ ụ =>B1:Vào insert->resource->toolbar->new - Lúc này b n t o thanh công c m i, b n ph i đ t tên đ a ch cho thanhạ ạ ụ ớ ạ ả ặ ị ỉ c ng c b n v a m i t o b ng cách : kích chu t ph i vàoộ ụ ạ ừ ớ ạ ằ ộ ả IDR_TOOLBAR1-> vào propertise -> đ i tênổ - Các nút công c b n v a t o ph i ghi đ a ch ID cho nó b ng cách clickụ ạ ừ ạ ả ị ỉ ằ chu t vào nó. ộ =>B2:Vào classview->ch n m_wndtooolbarọ - Trong hàm protected b n có th thêm đ i t ng hàm Ctoolbar vàoạ ể ố ượ ở bên d i:ướ Ctoolbar tên_đ i t ng;ố ượ Vd: Ctoolbar hi; =>B3: Vào CmainFrame -> oncreated() đ i tên nh b c2.ổ ư ướ Vd:copy đo n mã và đ i tên cho phù h pạ ổ ợ if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP 3 LÊ QUANG VŨ CĐ TIN 31B KHOA:CNTT | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) || !m_wndToolBar.LoadToolBar(IDR_MAINFRAME)) { TRACE0("Failed to create toolbar\n"); return -1; // fail to create } L u ý:ư - B n ph i thay đ i các tên m_wndtoolbar => hi. ạ ả ổ Trong đó :hi là tên b n t o trong khai báo hàm ctoolbar.ạ ạ ở Và IDR_MAINFRAME ph i đ i thành tên đ a ch ID b n đ t B1.ả ổ ị ỉ ạ ặ ở Khi vi c đ i tên hoàn t t b n có th s p x p thanh công c b ng cách:ệ ổ ấ ạ ể ắ ế ụ ằ - Tìm đo n mã sau:ạ m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY); EnableDocking(CBRS_ALIGN_ANY); DockControlBar(&m_wndToolBar); Trong đó: DockControlBar( CControlBar *pBar, UINT nDockBarID= 0); pBar: con tr đ i t ng toolbarỏ ố ượ nDockBarID: gtr xác đ nh v trí thanh công cị ị ị ụ - m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);là Câu l nh dùngệ đ di chuy n thanh toolbarể ể AFX_IDW_DOCKBAR_TOP : Toolbar x p vào phía trên vùngế client c a s ử ổ AFX_IDW_DOCKBAR_BOTTOM : Toolbar x p vào phía d iế ướ vùng client c a s ử ổ AFX_IDW_DOCKBAR_LEFT : Toolbar x p vào phía bên tráiế vùng client c a sử ổ AFX_IDW_DOCKBAR_RIGHT : Toolbar x p vào phía bên ph iế ả vùng client c a sử ổ Vd: hi.EnableDocking(CBRS_ALIGN_ANY); EnableDocking(CBRS_ALIGN_ANY); DockControlBar(&hi, AFX_IDW_DOCKBAR_BOTTOM ); 7.Thêm text vào nút toolbar : Vào cMainfram->cú pháp này đ c vi t trong Oncreate(…)ượ ế - Cú pháp: 4 LÊ QUANG VŨ CĐ TIN 31B KHOA:CNTT SetButtonText( int nIndex, LPCTSTR lpszText ); • nIndex: s th t c a nút thêm textố ứ ự ủ • lpszText: chu i văn b n thêm vàoỗ ả Xác đ nh kích th c các nút trong toolbar và kích c iMageị ướ ướ SetSizes( SIZE sizeButton, SIZE sizeImage ); Ví d :ụ hi.SetButtonText(0,_T("mo")); hi.SetSizes(CSize (40,36),CSize (15,14)); Trong đó: 0 là v trí nút c n thêm textị ầ Hi : là tên thanh công c đ c t o trên.ụ ượ ạ ở 8.T o thanh tr ng thái:ạ ạ B1: vào fileview->source file->MainFrm.cpp - Trong hàm “static UINT indicators[] =” b n thêm thanh tr ng thái m i.ạ ạ ớ Vd: ID_INDICATOR_TG,//do ng i dùng đ t tênườ ặ B2:khai báo vao resoure->string table-> string table ->chon hàm có ID_INDICATOR_ r i đ t tên cho no băng cách kích chu t ph i ->newồ ặ ộ ả string->go tên B2:T o hi n th cho cho ch danh: khai báo phía d i trongạ ể ị ỉ ở ướ MainFrm.cpp void CMainFrame::OnUpdateStbarnew(CCmdUI* pCmdUI) { pCmdUI->Enable(true); } Trong đó: Stbarnew do ng i dùng đ t.ườ ặ B3:Vào fileview-> Header Files-> MainFrm.h - Trong hàm protected gõ l nh:ệ afx_msg void OnUpdateStbarnew(CCmdUI* pCmdUI); B4: Tr l i b ng -> MainFrm.cpp:ở ạ ả - Trong hàm BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd) gõ l nh:ệ ON_UPDATE_COMMAND_UI(ID_INDICATOR_TG,OnUpdateStbarnew) B5: Nh n F7 ki m tra l i và nh n F5 đ ch y.ấ ể ỗ ấ ể ạ 5 LÊ QUANG VŨ CĐ TIN 31B KHOA:CNTT II- CÁC HÀM Đ H A:Ồ Ọ 1.T o đ ng th ng:ạ ườ ẳ B1:T o menu ho c thanh công c nh đã trình bày trên.ạ ặ ụ ư ở B2:Vào view-> classwinzar. B3:Ch n đ a ch ID ọ ị ỉ c a nút công c v a m i t o thanh toollbar ho c menuủ ụ ừ ớ ạ ở ặ ->click vào command->ok->edit code và gõ l nh:ệ C1: - Cú pháp: CDC * pDC = GetDC();; // Khai báo thi t b DC. ế ị • ReleaseDC(hWnd, hDC); // Gi i phóng DCả pDC -> LineTo(int X, int Y); pDC -> MoveToEx(int X, int Y); Vd: CDC*pDC=GetDC(); pDC->MoveTo(100,100);//t a đ g cọ ộ ố pDC->LineTo(200,200);//chi u dài hình về ẽ C2: Khai báo: POINT p,p1; p.x=200 ; p.y=200 ; p1.x=100 ; p1.y=100 ; CDC*pDC=GetDC(); pDC->MoveTo(p1); //t a đ g cọ ộ ố pDC->LineTo(p); //chi u dài hình về ẽ 2.Hình ch nh tữ ậ : ( vi t t ng t nh các b c t o đ ng th ng)ế ượ ự ư ở ướ ạ ườ ẳ => Hình ch nh t th ngữ ậ ườ : - Cú pháp : pDC -> Rectangle(int upX, int upY, int lowX, int lowY); upX, upY: góc trên bên trái lowX, lowY: góc d i bên ph iướ ả vd: CDC*pDC=GetDC(); pDC -> Rectangle(200,200,400,300); => Hình ch nh t vuông:ữ ậ - Cú pháp: pDC-> RoundRect(int x1, int y1, int x2, int y2, int x3, int y3) vd : CDC*pDC=GetDC(); pDC-> RoundRect(200,200,400,300,50,50); 3.Hình elip(vi t t ng t nh các b c t o đ ng th ng)ế ượ ự ư ở ướ ạ ườ ẳ 6 LÊ QUANG VŨ CĐ TIN 31B KHOA:CNTT - Cú pháp: pDC->Ellipse(int upX, int upY, int lowX, int lowY); upX, upY: góc trên bên trái lowX, lowY: góc d i bên ph iướ ả vd: CDC*pDC=GetDC(); pDC->Ellipse(400,400,600,500);//(400,200,600,400)hình tròn 4.V Pie(Hình tròn Khuy t):ẽ ế ( vi t t ng t nh các b c t o đ ngế ượ ự ư ở ướ ạ ườ th ng)ẳ - Cú pháp: pDC->pie(int upX, int upY, int lowX, int lowY, int Xs, int Ys, int Xe, int Ye); upX, upY: góc trên bên trái lowX, lowY: góc d i bên ph iướ ả Xs, Ys: Đi m b t đ u cungể ắ ầ Xe, Ye: Đi m k t thúc cungể ế Vd: CDC*pDC=GetDC(); pDC->Pie(100,100,200,200,150,100,200,150);// (400,200,600,400,500,100,600,300) 5.Đ ng Li n K Nhau:ườ ề ề ( vi t t ng t nh các b c t o đ ng th ng)ế ượ ự ư ở ướ ạ ườ ẳ - Cú pháp : pDC->Polyline(POINT pt, int n); pt: m ng ch a các đi m t a đả ứ ể ọ ộ n : s l ng t a đố ượ ọ ộ vd: POINT pt[10]; { int x; int y; } pt[0].x=200; pt[0].y=300; pt[1].x=250; pt[1].y=200; 7 LÊ QUANG VŨ CĐ TIN 31B KHOA:CNTT pt[2].x=300; pt[2].y=300; pt[3].x=350; pt[3].y=200; pt[4].x=400; pt[4].y=300; CDC*pDC=GetDC(); pDC->Polyline(pt,5); 6.T o thu c tính bút vạ ộ ẽ : ( vi t t ng t nh các b c t o đ ng th ng)ế ượ ự ư ở ướ ạ ườ ẳ - Cú pháp : CPen pen(int style, int width, COLOREF color); • Style: ki u bút v và có các giá tr :ể ẽ ị – PS_DASH : G ch ngangạ – PS_DASHDOT : G ch ngang ch mạ ấ – PS_DASHDOTDOT : Gach ngang ch m ch mấ ấ – PS_DOT : Ch mấ – PS_SOLID : Đ ng th ng li n nét. ườ ẳ ề • Width: đ dày c a bút vộ ủ ẽ • Color: RGB(R, G, B) CPen *pPen = pDC->SelectObject(&pen) //thi t l pế ậ Vd: CPen pen(PS_SOLID,3,RGB(19,211,65)); CPen*pPen = pDC->SelectObject(&pen) ; - Chú ý: Ph i đ t tr c l nh t o đ h a.ả ặ ướ ệ ạ ồ ọ 7.T o ch i quétạ ổ ( T o màu n n)//ạ ề (vi t t ng t nh các b c t o đ ngế ượ ự ư ở ướ ạ ườ th ng)ẳ -Cú pháp: Cbrush Brush (COLOREF color) • Color: RGB(R, G, B) Thi t l p ch i quét ế ậ ổ : CBrush *pBrush = pDC->SelectObject (&Brush) - Chú ý: Ph i đ t tr c l nh t o đ h a.ả ặ ướ ệ ạ ồ ọ Vd: CBrush Brush(RGB(0,255,0)); CBrush*pBrush = pDC->SelectObject(&Brush); - HS_BDIAGONAL: - HS_CROSS: - HS_DIAGCROSS: 8 LÊ QUANG VŨ CĐ TIN 31B KHOA:CNTT - HS_FDIAGONAL: - HS_HORIZONTAL: - HS_VERTICAL: Vd: CBrush Brush(HS_VERTICAL,RGB(0,250,0)); CBrush*pBrush = pDC->SelectObject(&Brush); 8.T o text lên c a s :ạ ử ổ (t ng t )ươ ự - Cú pháp: pDC->TextOut( x, y, string, strLength); pDC-> SetTextAlign(TA_CENTER) // hàm thi t l pế ậ Trong đó: pDC là device context c a c a s c n xu t.ủ ử ổ ầ ấ x, y đi m b t đ u c a chu i ký t trong client ể ắ ầ ủ ỗ ự string là m t con tr tr đ n m t chu i ký t .ộ ỏ ỏ ố ộ ỗ ự strLength là s ký t trong ch i c n xu t.ố ự ỗ ầ ấ Ví d :ụ void CMainFrame::Ontraitim() { // TODO: Add your command handler code here CDC*pDC=GetDC(); CString str("Ban co mot trai tim tinh khuyet"); pDC->TextOut(400,100,str, str.GetLength()); pDC-> SetTextAlign(TA_CENTER) ; } 9. Thi t l p màu ch :ế ậ ữ (Ph i đ t tr c l nh t o text.)ả ặ ướ ệ ạ pDC-> SetTextColor(COLOREF color); Vd: CDC*pDC=GetDC(); pDC-> SetTextColor(RGB(250,0,0)); Thi t l p màu n n ế ậ ề (Ph i đ t tr c l nh t o text.)ả ặ ướ ệ ạ pDC-> SetBkColor(COLOREF color) Vd: 9 LÊ QUANG VŨ CĐ TIN 31B KHOA:CNTT CDC*pDC=GetDC(); pDC-> SetBkColor(RGB(250,0,0)); VD:T o hình ng i vi t trong mainfrm.cpp:ạ ườ ế CDC*pDC=GetDC(); pDC->Ellipse(400,100,500,200); pDC -> Rectangle(440,200,460,230);//co pDC -> Rectangle(370,228,530,400);//than pDC->Ellipse(423,125,443,133); pDC->Ellipse(463,125,483,133);//MAT pDC->MoveTo(453,140); pDC->LineTo(444,155); pDC->MoveTo(453,140);//MUI pDC->LineTo(462,155); pDC->MoveTo(444,155); pDC->LineTo(462,155); pDC->MoveTo(453,180);//MIENG pDC->LineTo(428,170); pDC->MoveTo(453,180); pDC->LineTo(473,170); pDC->MoveTo(370,228); pDC->LineTo(290,420); pDC->MoveTo(370,290);//taytrai pDC->LineTo(300,420); pDC->MoveTo(290,420); pDC->LineTo(302,420); pDC->MoveTo(530,230); pDC->LineTo(610,420); pDC->MoveTo(530,290);//tayphai pDC->LineTo(600,420); pDC->MoveTo(600,420); pDC->LineTo(611,420); pDC->MoveTo(370,400); pDC->LineTo(355,600); pDC->MoveTo(450,450); 10 [...]... dựng t B3:vo classwinzard->chn a ch cn thc hin(lp cmainfram) ->command(kớch ụi)->edit code B4:gừ lnh: CBitmap bm;//khai bỏo bm.LoadBitmap(ID_BITMAP);//np bitmap t ti nguyờn CDC*pDC=GetDC(); CDC mDC; mDC.CreateCompatibleDC(pDC); //t c DC ca b nh s cha bitmap mDC.SelectObject(bm);// Chn bitmap trong device context ca b nh 11 Lấ QUANG V C TIN 31B KHOA:CNTT BITMAP TT;//khai bỏo bm.GetObject(sizeof(TT),&TT);//nhp... pl.y=point.y ; lc=2; } else { CDC*pDC=GetDC(); CBrush Brush (RGB(200,100,0)); CBrush *pBrush = pDC->SelectObject (&Brush); pDC->Rectangle(pl.x,pl.y,point.x,point.y); lc=1; } } if (hinh==2) { if (lc==1) { pl.x=point.x; pl.y=point.y ; lc=2; } else 13 Lấ QUANG V C TIN 31B KHOA:CNTT { CDC*pDC=GetDC(); pDC->MoveTo(pl.x,pl.y); pDC->LineTo(point.x ,point.y); lc=1; } } CView::OnLButtonDown(nFlags, point); } Trong ú:... CBrush *pBrush = pDC->SelectObject (&Brush); pDC -> Rectangle(p1.x,p1.y,p2.x,p2.y); } if(h==3) { CBitmap bm;//khai bỏo bm.LoadBitmap(ID_BITMAP); CDC*pDC=GetDC(); CDC mDC; mDC.CreateCompatibleDC(pDC); mDC.SelectObject(bm); BITMAP TT;//khai bỏo bm.GetObject(sizeof(TT),&TT);//nh?p thụng tin c? a bitmap pDC->BitBlt (p1.x,p1.y,TT.bmWidth,TT.bmHeight,&mDC,0,0,SRCCOPY); } Bi tp 2 hỡnh chy tụng vo nhau rụi B1:khai... pDC-> SetBkColor(RGB(250,0,0)); CString str("CHAO CAC BAN!!");// tao text pDC->TextOut(400,80,str, str.GetLength()); pDC-> SetTextAlign(TA_CENTER) ; 10.Thut v Bitmap(chốn nh): B1:to menu hoc tool B2:To ngun Bitmap trong tp ti nguyờn c uụi rc bng c ch: Chn file ->open->chn uụi rc (trong save as chn text)->open>gừ lnh to ngun vo hỡnh cn chốn Vd: ID_BITMAP BITMAP "C: \HINH\h.bmp" ID do ngi dựng t B3:vo classwinzard->chn... ,3,RGB(155,200,0)); CPen *pPen = pDC->SelectObject(&pen) ; CBrush Brush (RGB(250,255,0)); CBrush *pBrush = pDC->SelectObject (&Brush); 18 Lấ QUANG V C TIN 31B KHOA:CNTT pDC->Ellipse(x1,y1,x2,y2); } if( pDC->Ellipse(x3,y3,x4,y4)) { CPen pen(PS_SOLID ,3,RGB(155,200,0)); CPen *pPen = pDC->SelectObject(&pen) ; CBrush Brush (RGB(200,0,0)); CBrush *pBrush = pDC->SelectObject (&Brush); pDC->Ellipse(x3,y3,x4,y4); } } B3:tc... C TIN 31B KHOA:CNTT pDC->LineTo(375,600);//chan pDC->MoveTo(530,400); pDC->LineTo(545,600); pDC->MoveTo(450,450); pDC->LineTo(525,600); pDC->MoveTo(355,600); pDC->LineTo(375,600); pDC->MoveTo(525,600); pDC->LineTo(545,600); CBrush Brush(RGB(50,250,0)); CBrush *pBrush = pDC->SelectObject (&Brush); pDC->MoveTo(370,385); pDC->LineTo(530,385); pDC -> Rectangle(440,385,460,400);//thaclung pDC-> SetTextColor(RGB(0,0,0));... C TIN 31B KHOA:CNTT {CPen pen(PS_SOLID ,3,RGB(0,0,0)); CPen *pPen = pDC->SelectObject(&pen) ; CBrush Brush (RGB(255,255,0)); CBrush *pBrush = pDC->SelectObject (&Brush); pDC->Ellipse(x1,y1,x2,y2); } if( pDC->Ellipse(x3,y3,x4,y4)) { CPen pen(PS_SOLID ,3,RGB(155,200,0)); CPen *pPen = pDC->SelectObject(&pen) ; CBrush Brush (RGB(0,255,255)); CBrush *pBrush = pDC->SelectObject (&Brush); pDC->Ellipse(x3,y3,x4,y4);... *pPen = pDC->SelectObject(&pen); CBrush Brush (RGB(0, 255,0)); CBrush *pBrush = pDC->SelectObject (&Brush); pDC -> Rectangle(p1.x, p1.y,p2.x,p2.y); CPen pen1(PS_SOLID,2,RGB(222, 20,255)); CPen *pPen1 = pDC->SelectObject(&pen1); CBrush Brush1 (RGB(230, 255,0)); CBrush *pBrush1 = pDC->SelectObject (&Brush); pDC -> Rectangle(p3.x, p3.y,p4.x,p4.y); } pDC->TextOut(p1.x, p2.y,"Tran Tran Thao", 15); pDC->TextOut(p3.x,... Add your command handler code here CDC*pDC=GetDC(); CFont f; f.CreateFont(40,0,0,0,FW_BOLD,0,1,0,0,0,0,0,0,"VNI-Times"); CFont *pFont = (CFont *) pDC->SelectObject(&f); SetFont(pFont); CString str("baùn ủaừ taùo font chửừ thaứnh coõng!!"); pDC->TextOut(400,300,str, str.GetLength()); pDC-> SetTextAlign(TA_CENTER) ; 12 Lấ QUANG V C TIN 31B KHOA:CNTT } III-HM X Lí THễNG IP CHUT: 1).To hỡnh khi nhn chut:... font c thuc tớnh x c nh Font.CreateFont(int Height, //kớch thc im 0, 0, 0, FW_NORMAL, // dy, c th l FW_BOLD 0, // nu 1 nghiờng 0, // Nu 1 gch di 0, //nu 1 gch ngang 0,0, 0, 0,0,VNI-Times); //kiu ch B4: Gi SelectObject() ci t Font vo vựng client Font.CreateFont(40,0,0,0,FW_BOLD,0,1,0,0,0,0,0,0,"VNI-Times"); CFont *pFont = (CFont *) pDC->SelectObject(&Font); SetFont(pFont);//thit lp Vd: void CMainFrame::Onhi() . LÊ QUANG VŨ C TIN 31B KHOA:CNTT C c c u l nh trong l p trình c trên win ậ T p tin ậ Vidu1.H: ch a c c khai báo liên quan đ n l p Cvidu1App:ứ ế ớ T p tin ậ MainFrm.H: ch a c c khai báo. i tênổ - C c nút c ng c b n v a t o ph i ghi đ a ch ID cho nó b ng c ch clickụ ạ ừ ạ ả ị ỉ ằ chu t vào nó. ộ =>B2:Vào classview->ch n m_wndtooolbarọ - Trong hàm protected b n c th thêm. pDC-> SetBkColor(COLOREF color) Vd: 9 LÊ QUANG VŨ C TIN 31B KHOA:CNTT CDC*pDC=GetDC(); pDC-> SetBkColor(RGB(250,0,0)); VD:T o hình ng i vi t trong mainfrm.cpp:ạ ườ ế CDC*pDC=GetDC(); pDC->Ellipse(400,100,500,200);